| Index: bottle-0.12.9/bottle.py |
| =================================================================== |
| --- bottle-0.12.9.orig/bottle.py |
| +++ bottle-0.12.9/bottle.py |
| @@ -1721,8 +1721,10 @@ class JSONPlugin(object): |
| name = 'json' |
| api = 2 |
| |
| - def __init__(self, json_dumps=json_dumps): |
| + def __init__(self, json_dumps=json_dumps, **kw): |
| self.json_dumps = json_dumps |
| + self.json_kw = { x:y for x,y in kw.iteritems() \ |
| + if x in ['indent','sort_keys'] } |
| |
| def apply(self, callback, route): |
| dumps = self.json_dumps |
| @@ -1735,12 +1737,12 @@ class JSONPlugin(object): |
| |
| if isinstance(rv, dict): |
| #Attempt to serialize, raises exception on failure |
| - json_response = dumps(rv) |
| + json_response = dumps(rv, **self.json_kw) |
| #Set content type only if serialization succesful |
| response.content_type = 'application/json' |
| return json_response |
| elif isinstance(rv, HTTPResponse) and isinstance(rv.body, dict): |
| - rv.body = dumps(rv.body) |
| + rv.body = dumps(rv.body, **self.json_kw) |
| rv.content_type = 'application/json' |
| return rv |
| |