aboutsummaryrefslogtreecommitdiffhomepage
path: root/http/middleware
diff options
context:
space:
mode:
Diffstat (limited to 'http/middleware')
-rw-r--r--http/middleware/context_keys.go3
-rw-r--r--http/middleware/session.go1
-rw-r--r--http/middleware/user_session.go10
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