From 9a1536b52a07e32da5900652da1bd7894c58fa9f Mon Sep 17 00:00:00 2001 From: Simon Willison Date: Wed, 30 Nov 2022 15:48:32 -0800 Subject: [PATCH] Move CORS headers into base class, refs #1922 --- datasette/views/base.py | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/datasette/views/base.py b/datasette/views/base.py index 9a41db56..022cf494 100644 --- a/datasette/views/base.py +++ b/datasette/views/base.py @@ -78,15 +78,10 @@ class BaseView: ) else: response = Response.text("Method not allowed", status=405) - if self.ds.cors: - add_cors_headers(response.headers) return response async def options(self, request, *args, **kwargs): - r = Response.text("ok") - if self.ds.cors: - add_cors_headers(r.headers) - return r + return Response.text("ok") async def get(self, request, *args, **kwargs): return await self.method_not_allowed(request) @@ -107,7 +102,10 @@ class BaseView: if self.ds: await self.ds.refresh_schemas() handler = getattr(self, request.method.lower(), None) - return await handler(request) + response = await handler(request) + if self.ds.cors: + add_cors_headers(response.headers) + return response async def render(self, templates, request, context=None): context = context or {}