mirror of
https://github.com/openfaas/faas.git
synced 2025-06-10 17:26:47 +00:00
This commit replaces occurences of http method strings with the corresponding consts from the http package. *Note* UPDATE is not strictly speaking a valid method and as such isn't part of the http package (should be a PUT or PATCH?) Signed-off-by: John McCabe <john@johnmccabe.net>
27 lines
771 B
Go
27 lines
771 B
Go
package handlers
|
|
|
|
import "net/http"
|
|
|
|
// CORSHandler set custom CORS instructions for the store.
|
|
type CORSHandler struct {
|
|
Upstream *http.Handler
|
|
AllowedHost string
|
|
}
|
|
|
|
func (c CORSHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
|
|
// https://raw.githubusercontent.com/openfaas/store/master/store.json
|
|
w.Header().Set("Access-Control-Allow-Headers", "Content-Type")
|
|
w.Header().Set("Access-Control-Allow-Methods", http.MethodGet)
|
|
w.Header().Set("Access-Control-Allow-Origin", c.AllowedHost)
|
|
|
|
(*c.Upstream).ServeHTTP(w, r)
|
|
}
|
|
|
|
// DecorateWithCORS decorate a handler with CORS-injecting middleware
|
|
func DecorateWithCORS(upstream http.Handler, allowedHost string) http.Handler {
|
|
return CORSHandler{
|
|
Upstream: &upstream,
|
|
AllowedHost: allowedHost,
|
|
}
|
|
}
|