From a56fa20b6dba1368f7e9b514d5a63971b49d0c8e Mon Sep 17 00:00:00 2001 From: Derrick Hammer Date: Sat, 20 Jan 2024 08:03:26 -0500 Subject: [PATCH] refactor: split findAuthToken to parseAuthTokenHeader --- api/middleware/s5.go | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/api/middleware/s5.go b/api/middleware/s5.go index f52b358..556979f 100644 --- a/api/middleware/s5.go +++ b/api/middleware/s5.go @@ -17,12 +17,7 @@ const ( ) func findAuthToken(r *http.Request) string { - authHeader := r.Header.Get("Authorization") - if authHeader == "" { - return "" - } - - authHeader = strings.TrimPrefix(authHeader, "Bearer ") + authHeader := parseAuthTokenHeader(r.Header) if authHeader != "" { return authHeader @@ -37,6 +32,17 @@ func findAuthToken(r *http.Request) string { return r.FormValue(S5AuthQueryParam) } +func parseAuthTokenHeader(headers http.Header) string { + authHeader := headers.Get("Authorization") + if authHeader == "" { + return "" + } + + authHeader = strings.TrimPrefix(authHeader, "Bearer ") + + return authHeader +} + func AuthMiddleware(handler jape.Handler, portal interfaces.Portal) jape.Handler { return jape.Adapt(func(h http.Handler) http.Handler { return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { @@ -108,7 +114,11 @@ type tusJwtResponseWriter struct { func (w *tusJwtResponseWriter) WriteHeader(statusCode int) { // Check if this is the specific route and status if statusCode == http.StatusCreated { - // Modify the response or add query arguments as needed + location := w.Header().Get("Location") + if location != "" { + w. + authHeader := w.Header().Get("Authorization") + } } w.ResponseWriter.WriteHeader(statusCode) }