summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--api4/context.go6
-rw-r--r--app/session.go2
2 files changed, 6 insertions, 2 deletions
diff --git a/api4/context.go b/api4/context.go
index 1f27431d2..9f3822633 100644
--- a/api4/context.go
+++ b/api4/context.go
@@ -125,8 +125,10 @@ func (h handler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
if err != nil {
l4g.Info(utils.T("api.context.invalid_session.error"), err.Error())
- c.RemoveSessionCookie(w, r)
- if h.requireSession {
+ if err.StatusCode == http.StatusInternalServerError {
+ c.Err = err
+ } else if h.requireSession {
+ c.RemoveSessionCookie(w, r)
c.Err = model.NewAppError("ServeHTTP", "api.context.session_expired.app_error", nil, "token="+token, http.StatusUnauthorized)
}
} else if !session.IsOAuth && tokenLocation == app.TokenLocationQueryString {
diff --git a/app/session.go b/app/session.go
index c9208f2b2..43fbf7979 100644
--- a/app/session.go
+++ b/app/session.go
@@ -54,6 +54,8 @@ func (a *App) GetSession(token string) (*model.Session, *model.AppError) {
a.AddSessionToCache(session)
}
}
+ } else if sessionResult.Err.StatusCode == http.StatusInternalServerError {
+ return nil, sessionResult.Err
}
}