diff options
author | Alex Auvolat <alex@adnab.me> | 2023-10-16 16:10:14 +0200 |
---|---|---|
committer | Alex Auvolat <alex@adnab.me> | 2023-10-16 16:10:14 +0200 |
commit | 75b27becf26516a65549a00378155437e4acce4e (patch) | |
tree | 97d818b819b5d78e96e8a8a1219b5a362e150350 /cors.go | |
parent | 224cb5e217f4e6c69cde1bb3fd26fecd6ced5f9a (diff) | |
download | bagage-75b27becf26516a65549a00378155437e4acce4e.tar.gz bagage-75b27becf26516a65549a00378155437e4acce4e.zip |
Fix CORS by allowing everything
Diffstat (limited to 'cors.go')
-rw-r--r-- | cors.go | 30 |
1 files changed, 30 insertions, 0 deletions
@@ -0,0 +1,30 @@ +package main + +import ( + "net/http" +) + +type CorsAllowAllOrigins struct { + AndThen http.Handler +} + +func (c CorsAllowAllOrigins) ServeHTTP(w http.ResponseWriter, r *http.Request) { + w.Header().Add("Access-Control-Allow-Origin", "*") + w.Header().Add("Access-Control-Allow-Methods", "*") + w.Header().Add("Access-Control-Allow-Headers", "*") + c.AndThen.ServeHTTP(w, r) +} + +type OptionsNoError struct { + Error ErrorHandler +} + +func (c OptionsNoError) WithError(err error) http.Handler { + return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + if r.Method == "OPTIONS" { + w.WriteHeader(200) + } else { + c.Error.WithError(err).ServeHTTP(w, r) + } + }) +} |