Дерево страниц

Каждый обработчик запроса должен возвращать определенный объект в качестве ответа сервера.

В модуле exthttp.http собраны наиболее часто используемые готовые ответы сервера:

  • HttpResponse (200, Ok) - Базовый ответ сервера. От данного класса наследуются все остальные ответы. Устанавливает следующие заголовки:
    • Server: {server.name} ({server.guid})
    • Server-OS: health["os_version"]
    • Server-ServicePack: health["servicepack_level"]
    • Server-GrabberPack: health["grabberpack_level"]
    • Content-Type: text/html; charset=utf-8
  • HttpResponseRedirect (302, ) 
  • HttpResponseBadRequest (400, Bad Request)
  • HttpResponseForbidden (403, Forbidden)
  • HttpResponseNotFound (404, Not Found)
  • HttpResponseNotAllowed (405, Method Not Allowed)
  • HttpResponseServerError (500, Internal Server Error)
  • HttpResponseUnknownError (520, Unknown Error)
  • JsonResponse (ANY, ANY) - Сериализует объект в json а также устанавливает следующие заголовки:
    • Content-Type: application/json; charset=utf-8
    • Access-Control-Allow-Origin: *
    • Cache-Control: no-cache

Примеры

Общий код создания приложения

from exthttp import create_app, BaseHandler
from exthttp import http
 
app = create_app("ExampleApp")

Пример ответа сервера с html

@app.route("hello")
class HelloHandler(BaseHandler):
    def get(self, request, *args, **kwargs):
        return http.HttpResponse("<b>Hello</b>")

Пример добавления новых заголовков

@app.route("world")
class WorldHandler(BaseHandler):
    def get(self, request, *args, **kwargs):
        return http.HttpResponse("World", headers={"token": "trassir"})