diff --git a/web/public/middleware/SaveFullPath.go b/web/public/middleware/SaveFullPath.go new file mode 100644 index 0000000..f5d6862 --- /dev/null +++ b/web/public/middleware/SaveFullPath.go @@ -0,0 +1,17 @@ +package webmiddleware + +import ( + "context" + "net/http" +) + +const FullPathContextKey KeyType = "request-full-path" + +func AppendFullPathMiddleware(h http.Handler) http.Handler { + return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + h.ServeHTTP( + w, + r.WithContext(context.WithValue(r.Context(), FullPathContextKey, r.URL.Path)), + ) + }) +} diff --git a/web/public/middleware/keyType.go b/web/public/middleware/keyType.go new file mode 100644 index 0000000..11c5e8f --- /dev/null +++ b/web/public/middleware/keyType.go @@ -0,0 +1,3 @@ +package webmiddleware + +type KeyType string