diff --git a/go.mod b/go.mod index 204af24..99bba42 100644 --- a/go.mod +++ b/go.mod @@ -2,6 +2,7 @@ module github.com/cbeuw/Cloak require ( github.com/boltdb/bolt v1.3.1 + github.com/gorilla/handlers v1.4.2 github.com/gorilla/mux v1.7.3 github.com/juju/ratelimit v1.0.1 github.com/kr/pretty v0.1.0 // indirect diff --git a/go.sum b/go.sum index ae0515a..82be42d 100644 --- a/go.sum +++ b/go.sum @@ -1,5 +1,7 @@ github.com/boltdb/bolt v1.3.1 h1:JQmyP4ZBrce+ZQu0dY660FMfatumYDLun9hBCUVIkF4= github.com/boltdb/bolt v1.3.1/go.mod h1:clJnj/oiGkjum5o1McbSZDSLxVThjynRyGBgiAx27Ps= +github.com/gorilla/handlers v1.4.2 h1:0QniY0USkHQ1RGCLfKxeNHK9bkDHGRYGNDFBCS+YARg= +github.com/gorilla/handlers v1.4.2/go.mod h1:Qkdc/uu4tH4g6mTK6auzZ766c4CA0Ng8+o/OAirnOIQ= github.com/gorilla/mux v1.7.3 h1:gnP5JzjVOuiZD07fKKToCAOjS0yOpj/qPETTXCCS6hw= github.com/gorilla/mux v1.7.3/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= github.com/juju/ratelimit v1.0.1 h1:+7AIFJVQ0EQgq/K9+0Krm7m530Du7tIz0METWzN0RgY= diff --git a/internal/server/swagger.yaml b/internal/server/swagger.yaml index 8de28b9..39ec6d7 100644 --- a/internal/server/swagger.yaml +++ b/internal/server/swagger.yaml @@ -152,8 +152,7 @@ externalDocs: description: Find out more about Swagger url: http://swagger.io # Added by API Auto Mocking Plugin -host: virtserver.swaggerhub.com -basePath: /cbeuw/ck-server/1.0.0 +host: 127.0.0.1:8080 +basePath: / schemes: - - https - http \ No newline at end of file diff --git a/internal/server/um_local.go b/internal/server/um_local.go index 95156ee..373aadf 100644 --- a/internal/server/um_local.go +++ b/internal/server/um_local.go @@ -3,6 +3,7 @@ package server import ( "encoding/binary" "log" + "net/http" "time" "github.com/boltdb/bolt" @@ -42,12 +43,20 @@ func MakeLocalManager(dbPath string) (*localManager, error) { return ret, nil } +func corsMiddleware(next http.Handler) http.Handler { + return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + w.Header().Set("Access-Control-Allow-Origin", "*") + next.ServeHTTP(w, r) + }) +} + func (manager *localManager) registerMux() *gmux.Router { r := gmux.NewRouter() r.HandleFunc("/admin/users", manager.listAllUsersHlr).Methods("GET") r.HandleFunc("/admin/users/{UID}", manager.getUserInfo).Methods("GET") r.HandleFunc("/admin/users/{UID}", manager.writeUserInfo).Methods("POST") r.HandleFunc("/admin/users/{UID}", manager.deleteUser).Methods("DELETE") + r.Use(corsMiddleware) return r }