[Calypso] [PATCH 01/15] add custom headers via config file
Jelmer Vernooij
jelmer at jelmer.uk
Sat Apr 9 12:15:12 PDT 2016
From: chrysn <chrysn at fsfe.org>
this is required when using calypso with a web application on a
different server
---
calypso/__init__.py | 3 +++
calypso/config.py | 6 +++++-
config | 11 +++++++++++
3 files changed, 19 insertions(+), 1 deletion(-)
diff --git a/calypso/__init__.py b/calypso/__init__.py
index 18cb880..d50329b 100644
--- a/calypso/__init__.py
+++ b/calypso/__init__.py
@@ -157,6 +157,9 @@ class CollectionHTTPHandler(server.BaseHTTPRequestHandler):
self.send_response(response)
self.send_connection_header()
self.send_header("Content-Length", length)
+ for header, value in config.items('headers'):
+ self.send_header(header, value)
+
def handle_one_request(self):
"""Handle a single HTTP request.
diff --git a/calypso/config.py b/calypso/config.py
index 59cbd85..0c3fee9 100644
--- a/calypso/config.py
+++ b/calypso/config.py
@@ -60,7 +60,11 @@ INITIAL_CONFIG = {
"pam_service": "passwd",
},
"storage": {
- "folder": os.path.expanduser("~/.config/calypso/calendars")}}
+ "folder": os.path.expanduser("~/.config/calypso/calendars")
+ },
+ "headers": {
+ },
+}
# Create a ConfigParser and configure it
_CONFIG_PARSER = ConfigParser()
diff --git a/config b/config
index 1ef574c..7093716 100644
--- a/config
+++ b/config
@@ -51,4 +51,15 @@ encryption = crypt
# created if not present
folder = ~/.config/calypso/calendars
+# The headers section allows verbatim addition of static headers to
+# responses. The following exemplary headers are useful when the calendar
+# should be accessed from users' web browsers using a web application hosted on
+# a different server.
+#
+#[headers]
+#Access-Control-Allow-Origin = *
+#Access-Control-Allow-Credentials = *
+#Access-Control-Allow-Methods = GET, POST, PUT, DELETE, PROPFIND, REPORT
+#Access-Control-Allow-Headers = accept, authorization, content-type, depth, x-client, if-match
+
# vim:ft=cfg
--
2.8.0.rc3
More information about the Calypso
mailing list