Обработчики запросов

Когда объект приложения WSGIApplication получает запрос, он создает экземпляр класса RequestHandler, ассоциированный с URL, указанным в запросе. После этого приложение вызывает метод соответствующий полученному типу HTTP запроса, к примеру, метод get() для запроса GET протокола HTTP. Метод содержит логику обработки запрашиваемых данных, подготавливает ответ и возвращает его. В завершении, приложение отправляет этот ответ клиенту.

Следующий пример определяет обработчик запроса, который производит ответ на запрос GET браузера пользователя:

class AddTwoNumbers(webapp.RequestHandler):

  def get(self):
    try:
      first = int(self.request.get('first'))
      second = int(self.request.get('second'))

      self.response.out.write("<html><body><p>%d + %d = %d</p></body></html>" %
                              first, second, first + second)
    except (TypeError, ValueError):
      self.response.out.write("<html><body><p>Неверный ввод</p></body></html>")

Для проведения обработки соответствующих методов протокола HTTP, обработчик запроса может определить любой из следующих методов:

  • get()
  • post()
  • head()
  • options()
  • put()
  • delete()
  • trace()