From 2600c1debb741faafcfadf382c33058c623550dd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Leandro=20Ant=C3=B4nio=20Farias=20Machado?= Date: Fri, 28 Apr 2023 08:32:23 -0300 Subject: [PATCH] feat: api middleware + header content-type as json #5 --- backend/services/controller/internal/api/api.go | 5 +++++ .../controller/internal/api/middleware/middleware.go | 12 ++++++++++++ 2 files changed, 17 insertions(+) create mode 100644 backend/services/controller/internal/api/middleware/middleware.go diff --git a/backend/services/controller/internal/api/api.go b/backend/services/controller/internal/api/api.go index dcecc77..5d4635d 100644 --- a/backend/services/controller/internal/api/api.go +++ b/backend/services/controller/internal/api/api.go @@ -3,6 +3,7 @@ package api import ( "encoding/json" "github.com/gorilla/mux" + "github.com/leandrofars/oktopus/internal/api/middleware" "github.com/leandrofars/oktopus/internal/db" "github.com/leandrofars/oktopus/internal/mtp" usp_msg "github.com/leandrofars/oktopus/internal/usp_message" @@ -45,6 +46,10 @@ func StartApi(a Api) { r.HandleFunc("/device/{sn}/del", a.deviceDeleteMsg).Methods("PUT") r.HandleFunc("/device/{sn}/set", a.deviceUpdateMsg).Methods("PUT") + r.Use(func(handler http.Handler) http.Handler { + return middleware.Middleware(handler) + }) + srv := &http.Server{ Addr: "0.0.0.0:" + a.Port, // Good practice to set timeouts to avoid Slowloris attacks. diff --git a/backend/services/controller/internal/api/middleware/middleware.go b/backend/services/controller/internal/api/middleware/middleware.go new file mode 100644 index 0000000..97edbe4 --- /dev/null +++ b/backend/services/controller/internal/api/middleware/middleware.go @@ -0,0 +1,12 @@ +package middleware + +import "net/http" + +func Middleware(next http.Handler) http.Handler { + return http.HandlerFunc( + func(w http.ResponseWriter, r *http.Request) { + w.Header().Set("Content-Type", "application/json") + next.ServeHTTP(w, r) + }, + ) +}