55Handles formatting responses to match the tuple pattern required by
66the flask/GCP wrapper for Cloud Functions.
77"""
8+ import json
9+ from .utils import convert_to_hashes
810
911PREFLIGHT_HEADERS = {
1012 "Access-Control-Allow-Origin" : "*" ,
1113 "Access-Control-Allow-Methods" : "GET" ,
12- "Access-Control-Allow-Headers" : "Content-Type" ,
14+ "Access-Control-Allow-Headers" : "Content-Type, Timing-Allow-Origin " ,
1315 "Access-Control-Max-Age" : "3600" ,
1416 }
1517
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+ }
1724
1825def respond_cors ():
1926 """
2027 To be used to return OPTIONS responses to satisfy CORS preflight requests.
2128 """
2229 return ("" , 204 , PREFLIGHT_HEADERS )
2330
24- def respond (data , status = 200 ):
31+ def respond (result , headers = HEADERS ):
2532 """
2633 To be used to return responses to satisfy CORS requests.
2734 """
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