author | Tero Marttila <terom@paivola.fi> |
Fri, 30 Jan 2015 14:05:20 +0200 | |
changeset 110 | 7af0b8ce698f |
parent 108 | e77b7c324a32 |
child 111 | 530d215d5df1 |
permissions | -rw-r--r-- |
108 | 1 |
import json |
2 |
||
3 |
class JSONMixin: |
|
4 |
MIMETYPE = 'application/json' |
|
5 |
||
110
7af0b8ce698f
qmsk.web.json: CORS_ORIGIN/CORS_METHODS
Tero Marttila <terom@paivola.fi>
parents:
108
diff
changeset
|
6 |
CORS_ORIGIN = None |
7af0b8ce698f
qmsk.web.json: CORS_ORIGIN/CORS_METHODS
Tero Marttila <terom@paivola.fi>
parents:
108
diff
changeset
|
7 |
CORS_METHODS = None |
7af0b8ce698f
qmsk.web.json: CORS_ORIGIN/CORS_METHODS
Tero Marttila <terom@paivola.fi>
parents:
108
diff
changeset
|
8 |
|
7af0b8ce698f
qmsk.web.json: CORS_ORIGIN/CORS_METHODS
Tero Marttila <terom@paivola.fi>
parents:
108
diff
changeset
|
9 |
def headers (self): |
7af0b8ce698f
qmsk.web.json: CORS_ORIGIN/CORS_METHODS
Tero Marttila <terom@paivola.fi>
parents:
108
diff
changeset
|
10 |
if self.CORS_ORIGIN: |
7af0b8ce698f
qmsk.web.json: CORS_ORIGIN/CORS_METHODS
Tero Marttila <terom@paivola.fi>
parents:
108
diff
changeset
|
11 |
yield 'Access-Control-Allow-Origin', self.CORS_ORIGIN |
7af0b8ce698f
qmsk.web.json: CORS_ORIGIN/CORS_METHODS
Tero Marttila <terom@paivola.fi>
parents:
108
diff
changeset
|
12 |
|
7af0b8ce698f
qmsk.web.json: CORS_ORIGIN/CORS_METHODS
Tero Marttila <terom@paivola.fi>
parents:
108
diff
changeset
|
13 |
if self.CORS_METHODS: |
7af0b8ce698f
qmsk.web.json: CORS_ORIGIN/CORS_METHODS
Tero Marttila <terom@paivola.fi>
parents:
108
diff
changeset
|
14 |
yield 'Access-Control-Allow-Methods', ', '.join(self.CORS_METHODS) |
7af0b8ce698f
qmsk.web.json: CORS_ORIGIN/CORS_METHODS
Tero Marttila <terom@paivola.fi>
parents:
108
diff
changeset
|
15 |
|
108 | 16 |
def render_json(self, **parms): |
17 |
raise NotImplementedError() |
|
18 |
||
19 |
def render_response(self, **params): |
|
20 |
data = self.render_json(**params) |
|
21 |
||
22 |
return json.dumps(data) |
|
23 |