Each request handler must return some object as a server answer.

Exthttp.http module contains frequently used ready-made server answers:

  • HttpResponse (200, Ok) - Basic server answer. This class inherits all other answers. Next headers will be used:
    • 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) - Converts object into json and also sets next headers:
    • Content-Type: application/json; charset=utf-8
    • Access-Control-Allow-Origin: *
    • Cache-Control: no-cache

Examples

Main code:

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

Example of the html server answer

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

Example of adding new headers

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


  • Нет меток