diff options
Diffstat (limited to 'http/middleware')
-rw-r--r-- | http/middleware/context_keys.go | 3 | ||||
-rw-r--r-- | http/middleware/session.go | 1 | ||||
-rw-r--r-- | http/middleware/user_session.go | 10 |
3 files changed, 13 insertions, 1 deletions
diff --git a/http/middleware/context_keys.go b/http/middleware/context_keys.go index 31ad286..887a90e 100644 --- a/http/middleware/context_keys.go +++ b/http/middleware/context_keys.go @@ -29,6 +29,9 @@ var ( // UserSessionTokenContextKey is the context key used to store the user session ID. UserSessionTokenContextKey = &ContextKey{"UserSessionToken"} + // UserLanguageContextKey is the context key to store user language. + UserLanguageContextKey = &ContextKey{"UserLanguageContextKey"} + // SessionIDContextKey is the context key used to store the session ID. SessionIDContextKey = &ContextKey{"SessionID"} diff --git a/http/middleware/session.go b/http/middleware/session.go index a0e9fbd..c3876f6 100644 --- a/http/middleware/session.go +++ b/http/middleware/session.go @@ -59,6 +59,7 @@ func (s *SessionMiddleware) Handler(next http.Handler) http.Handler { ctx = context.WithValue(ctx, OAuth2StateContextKey, session.Data.OAuth2State) ctx = context.WithValue(ctx, FlashMessageContextKey, session.Data.FlashMessage) ctx = context.WithValue(ctx, FlashErrorMessageContextKey, session.Data.FlashErrorMessage) + ctx = context.WithValue(ctx, UserLanguageContextKey, session.Data.Language) next.ServeHTTP(w, r.WithContext(ctx)) }) } diff --git a/http/middleware/user_session.go b/http/middleware/user_session.go index d67445f..820d093 100644 --- a/http/middleware/user_session.go +++ b/http/middleware/user_session.go @@ -50,7 +50,15 @@ func (s *UserSessionMiddleware) Handler(next http.Handler) http.Handler { func (s *UserSessionMiddleware) isPublicRoute(r *http.Request) bool { route := mux.CurrentRoute(r) switch route.GetName() { - case "login", "checkLogin", "stylesheet", "javascript", "oauth2Redirect", "oauth2Callback", "appIcon", "favicon", "webManifest": + case "login", + "checkLogin", + "stylesheet", + "javascript", + "oauth2Redirect", + "oauth2Callback", + "appIcon", + "favicon", + "webManifest": return true default: return false |