File: jsonserializer.py

package info (click to toggle)
circuits 3.2.3-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 2,980 kB
  • sloc: python: 17,583; javascript: 3,226; makefile: 100
file content (27 lines) | stat: -rwxr-xr-x 647 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
#!/usr/bin/env python
from json import dumps

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


class JSONSerializer(Component):
    channel = 'web'

    # 1 higher than the default response handler
    @handler('response', priority=1.0)
    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', 8000))
JSONSerializer().register(app)
Logger().register(app)
Root().register(app)
app.run()