summaryrefslogtreecommitdiff
path: root/system/api/server.go
diff options
context:
space:
mode:
authorSteve <nilslice@gmail.com>2017-01-16 16:14:00 -0800
committerGitHub <noreply@github.com>2017-01-16 16:14:00 -0800
commit2af951230eddc45ba429cff10d7566ad98fd343b (patch)
tree7543be03fae8aeeacc8eb48dbe16ab2d42fbca0b /system/api/server.go
parent3249b82b2a4f1aa0ae9e6943cd72dd7eebae8a4a (diff)
[core] Adding toggle for CORS, GZIP in admin/cms configuration (#30)
This PR enables admins to disable/enable CORS and GZIP from within the admin CMS configuration page. Both are enabled by default. Note: currently, the GZIP implementation is 100% on the fly, for every qualifying API endpoint request. This could add significant CPU usage, but dramatically decreases bandwidth. Will be considering other better implementations, but for now YMMV. Possible optimizations: - pooling gzip Writers vs. creating a new one for each response - caching gzipped responses (in memory? on disk?) - enforcing size threshold (only gzip content larger than N bytes)
Diffstat (limited to 'system/api/server.go')
-rw-r--r--system/api/server.go8
1 files changed, 3 insertions, 5 deletions
diff --git a/system/api/server.go b/system/api/server.go
index f31a748..8e103c4 100644
--- a/system/api/server.go
+++ b/system/api/server.go
@@ -4,11 +4,9 @@ import "net/http"
// Run adds Handlers to default http listener for API
func Run() {
- http.HandleFunc("/api/types", CORS(Record(typesHandler)))
+ http.HandleFunc("/api/contents", Record(CORS(Gzip(contentsHandler))))
- http.HandleFunc("/api/contents", CORS(Record(contentsHandler)))
+ http.HandleFunc("/api/content", Record(CORS(Gzip(contentHandler))))
- http.HandleFunc("/api/content", CORS(Record(contentHandler)))
-
- http.HandleFunc("/api/content/external", CORS(Record(externalContentHandler)))
+ http.HandleFunc("/api/content/external", Record(externalContentHandler))
}