|
5 | 5 | Handles formatting responses to match the tuple pattern required by |
6 | 6 | the flask/GCP wrapper for Cloud Functions. |
7 | 7 | """ |
| 8 | +import json |
| 9 | +from .utils import convert_to_hashes |
8 | 10 |
|
9 | 11 | PREFLIGHT_HEADERS = { |
10 | 12 | "Access-Control-Allow-Origin": "*", |
11 | 13 | "Access-Control-Allow-Methods": "GET", |
12 | | - "Access-Control-Allow-Headers": "Content-Type", |
| 14 | + "Access-Control-Allow-Headers": "Content-Type, Timing-Allow-Origin", |
13 | 15 | "Access-Control-Max-Age": "3600", |
14 | 16 | } |
15 | 17 |
|
16 | | -HEADERS = {"Access-Control-Allow-Origin": "*", "Content-Type": "application/json"} |
| 18 | +HEADERS = { |
| 19 | + "Access-Control-Allow-Origin": "*", |
| 20 | + "Content-Type": "application/json", |
| 21 | + "cache-control": "public, max-age=21600", |
| 22 | + "Timing-Allow-Origin": "*" |
| 23 | + } |
17 | 24 |
|
18 | 25 | def respond_cors(): |
19 | 26 | """ |
20 | 27 | To be used to return OPTIONS responses to satisfy CORS preflight requests. |
21 | 28 | """ |
22 | 29 | return ("", 204, PREFLIGHT_HEADERS) |
23 | 30 |
|
24 | | -def respond(data, status=200): |
| 31 | +def respond(result, headers=HEADERS): |
25 | 32 | """ |
26 | 33 | To be used to return responses to satisfy CORS requests. |
27 | 34 | """ |
28 | | - return (data, status, HEADERS) |
| 35 | + status = 200 if result.success() else 400 |
| 36 | + payload = result.result if result.success() else convert_to_hashes(result.errors) |
| 37 | + return (json.dumps(payload), status, headers) |
0 commit comments