File: jsonserializer.py

package info (click to toggle)
circuits 3.1.0%2Bds1-1
  • links: PTS, VCS
  • area: main
  • in suites: buster, stretch
  • size: 9,764 kB
  • sloc: python: 15,945; makefile: 131
file content (28 lines) | stat: -rwxr-xr-x 646 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#!/usr/bin/env python

from json import dumps

from circuits import handler, Component
from circuits.web import Server, Controller, Logger


class JSONSerializer(Component):

    channel = "web"

    @handler("response", priority=1.0)  # 1 higher than the default response handler
    def serialize_response_body(self, response):
        response.headers["Content-Type"] = "application/json"
        response.body = dumps(response.body)


class Root(Controller):

    def index(self):
        return {"message": "Hello World!"}

app = Server(("0.0.0.0", 9000))
JSONSerializer().register(app)
Logger().register(app)
Root().register(app)
app.run()