summaryrefslogtreecommitdiff
path: root/server/cmd/main.go
diff options
context:
space:
mode:
Diffstat (limited to 'server/cmd/main.go')
-rw-r--r--server/cmd/main.go38
1 files changed, 1 insertions, 37 deletions
diff --git a/server/cmd/main.go b/server/cmd/main.go
index 7b2310a..823d8d4 100644
--- a/server/cmd/main.go
+++ b/server/cmd/main.go
@@ -6,7 +6,6 @@ import (
"log"
"net/http"
"os"
- "slices"
"git.huntm.net/wedding/server/admin"
"git.huntm.net/wedding/server/guest"
@@ -38,40 +37,5 @@ func main() {
mux := http.NewServeMux()
mux.Handle("/api/guests/", guestHandler)
mux.Handle("/api/admin/", adminHandler)
- log.Fatal(http.ListenAndServe(":8080", serveHTTP(middleware.LoggingMiddleware(mux))))
-}
-
-func serveHTTP(handler http.Handler) http.Handler {
- return http.HandlerFunc(func(responseWriter http.ResponseWriter,
- request *http.Request) {
- writeMethods(responseWriter, request)
- writeOrigins(responseWriter, request)
- writeHeaders(responseWriter)
- handler.ServeHTTP(responseWriter, request)
- })
-}
-
-func writeMethods(responseWriter http.ResponseWriter, request *http.Request) {
- allowedMethods := []string{"OPTIONS", "POST", "PUT", "GET", "DELETE"}
- method := request.Header.Get("Access-Control-Request-Method")
- if isPreflight(request) && slices.Contains(allowedMethods, method) {
- responseWriter.Header().Add("Access-Control-Allow-Methods", method)
- }
-}
-
-func writeOrigins(responseWriter http.ResponseWriter, request *http.Request) {
- origin := request.Header.Get("Origin")
- if origin == "http://localhost:5173" {
- responseWriter.Header().Add("Access-Control-Allow-Origin", origin)
- }
-}
-
-func writeHeaders(responseWriter http.ResponseWriter) {
- responseWriter.Header().Add("Access-Control-Allow-Headers", "*")
-}
-
-func isPreflight(request *http.Request) bool {
- return request.Method == "OPTIONS" &&
- request.Header.Get("Origin") != "" &&
- request.Header.Get("Access-Control-Request-Method") != ""
+ log.Fatal(http.ListenAndServe(":8080", middleware.Log(middleware.CORS(mux))))
}