From 0ad7d28c00e8a4496e46e1a32efce5cd8087153b Mon Sep 17 00:00:00 2001 From: tonyrewin Date: Mon, 28 Nov 2022 09:00:54 +0300 Subject: [PATCH] cors- --- nginx.conf.sigil | 45 +++++++++++++++++++++++++------------ resolvers/zine/reactions.py | 5 ++--- 2 files changed, 33 insertions(+), 17 deletions(-) diff --git a/nginx.conf.sigil b/nginx.conf.sigil index 6a840de9..f930d46e 100644 --- a/nginx.conf.sigil +++ b/nginx.conf.sigil @@ -5,7 +5,7 @@ {{ $upstream_port := index $port_map_list 2 }} map $http_origin $allow_origin { - ~^https?:\/\/((.*\.)?localhost(:\d+)?|discoursio-webapp(-(.*))?\.vercel\.app|(.*\.)?discours\.io)$ $http_origin; + ~^https?:\/\/((.*\.)?localhost(:\d+)?|discoursio-webapp-git(.*)?\.vercel\.app|(.*\.)?discours\.io(:\d+)?)$ $http_origin; default ""; } @@ -113,21 +113,38 @@ server { proxy_set_header X-Request-Start $msec; {{ if $.PROXY_X_FORWARDED_SSL }}proxy_set_header X-Forwarded-Ssl {{ $.PROXY_X_FORWARDED_SSL }};{{ end }} - if ($request_method = 'OPTIONS') { - add_header Access-Control-Allow-Origin $allow_origin always; - add_header Access-Control-Allow-Methods 'GET, PATCH, POST, OPTIONS'; - add_header Access-Control-Allow-Headers 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range,Authorization' always; - add_header Access-Control-Allow-Credentials 'true'; - add_header Access-Control-Max-Age 1728000; - add_header Content-Type 'text/plain; charset=utf-8'; - add_header Content-Length' 0; + if ($request_method = 'OPTIONS') { + add_header 'Access-Control-Allow-Origin' $allow_origin always; + add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS'; + # + # Custom headers and headers various browsers *should* be OK with but aren't + # + add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range,Authorization'; + add_header 'Access-Control-Allow-Credentials' 'true'; + # + # Tell client that this pre-flight info is valid for 20 days + # + add_header 'Access-Control-Max-Age' 1728000; + add_header 'Content-Type' 'text/plain; charset=utf-8'; + add_header 'Content-Length' 0; return 204; } - add_header Access-Control-Allow-Origin $allow_origin always; - add_header Access-Control-Allow-Methods 'GET, PATCH, POST, OPTIONS' always; - add_header Access-Control-Allow-Headers 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range,Authorization' always; - add_header Access-Control-Expose-Headers 'Content-Length,Content-Range' always; - add_header Access-Control-Allow-Credentials 'true' always; + + if ($request_method = 'POST') { + add_header 'Access-Control-Allow-Origin' $allow_origin always; + add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS' always; + add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range,Authorization' always; + add_header 'Access-Control-Expose-Headers' 'Content-Length,Content-Range' always; + add_header 'Access-Control-Allow-Credentials' 'true' always; + } + + if ($request_method = 'GET') { + add_header 'Access-Control-Allow-Origin' $allow_origin always; + add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS' always; + add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range,Authorization' always; + add_header 'Access-Control-Expose-Headers' 'Content-Length,Content-Range' always; + add_header 'Access-Control-Allow-Credentials' 'true' always; + } } {{ if $.CLIENT_MAX_BODY_SIZE }}client_max_body_size {{ $.CLIENT_MAX_BODY_SIZE }};{{ end }} diff --git a/resolvers/zine/reactions.py b/resolvers/zine/reactions.py index 402e2bfb..6b99bc43 100644 --- a/resolvers/zine/reactions.py +++ b/resolvers/zine/reactions.py @@ -197,11 +197,10 @@ async def delete_reaction(_, info, rid): def map_result_item(result_item): - reaction = result_item[0] - user = result_item[1] - shout = result_item[2] + [user, shout, reaction] = result_item reaction.createdBy = user reaction.shout = shout + reaction.replyTo = reaction return reaction