-
Notifications
You must be signed in to change notification settings - Fork 1
/
utils.py
29 lines (23 loc) · 910 Bytes
/
utils.py
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
29
from datetime import datetime, timedelta
from flask import Response
def json_response(json, expires={}):
"""
Creates a response object that contains JSON data.
:param json: Data in JSON format to put in response.
:param expires: Number of seconds in the future to expire this request.
"""
delta = datetime.utcnow() + timedelta(**expires)
requestHeaders = {
'Cache-Control': 'public',
'Expires': delta.strftime('%a, %d %b %Y %H:%M:%S GMT')
}
return Response(json, status=200, mimetype='application/json',
headers=requestHeaders)
def set_urls(app, routes):
"""
Connects url patterns to actions for the `app`.
"""
for rule in routes:
if len(rule) == 3: rule = rule + ({}, )
url_rule, endpoint, view_func, opts = rule
app.add_url_rule(url_rule, endpoint=endpoint, view_func=view_func, **opts)