@@ -96,10 +96,6 @@ func removeExtAuthPathPrefix(path string) string {
9696 path = path [len (ENVOY_EXT_AUTH_PATH_PREFIX )+ 1 :]
9797 }
9898
99- if path == "" {
100- path = "/"
101- }
102-
10399 return path
104100}
105101
@@ -111,6 +107,10 @@ func getOriginalURL(c echo.Context) string {
111107 requestURI = removeExtAuthPathPrefix (c .Request ().RequestURI )
112108 }
113109
110+ if requestURI == "" {
111+ requestURI = "/"
112+ }
113+
114114 ur := fmt .Sprintf ("%s://%s%s" , c .Scheme (), c .Request ().Host , requestURI )
115115 log .Debug ("original url " , ur )
116116 return ur
@@ -295,8 +295,11 @@ func handleSetIDToken(c echo.Context, idToken *oidc.IDToken, rawIDToken string)
295295
296296 requestURI := c .Request ().Header .Get ("X-Envoy-Original-Path" )
297297
298+ log .Debugf ("[Set ID Token] X-Envoy-Original-Path: %s" , requestURI )
299+
298300 if requestURI == "" {
299301 requestURI = removeExtAuthPathPrefix (c .Request ().RequestURI )
302+ log .Debugf ("[Set ID Token] RawRequestURI: %s, removeExtAuthPathPrefix: %s" , c .Request ().RequestURI , requestURI )
300303 }
301304
302305 uri , err := url .Parse (requestURI )
@@ -309,6 +312,10 @@ func handleSetIDToken(c echo.Context, idToken *oidc.IDToken, rawIDToken string)
309312 params .Del (ID_TOKEN_QUERY_NAME )
310313 uri .RawQuery = params .Encode ()
311314
315+ if uri .Path == "" {
316+ uri .Path = "/"
317+ }
318+
312319 return c .Redirect (302 , uri .String ())
313320}
314321
@@ -445,6 +452,19 @@ func handleOIDCCallback(c echo.Context) error {
445452 return c .Redirect (302 , uri .String ())
446453}
447454
455+ func handleLog (c echo.Context ) error {
456+ level := c .QueryParam ("level" )
457+
458+ switch level {
459+ case "debug" :
460+ log .SetLevel (log .DebugLevel )
461+ default :
462+ log .SetLevel (log .InfoLevel )
463+ }
464+
465+ return c .NoContent (200 )
466+ }
467+
448468func main () {
449469 e := server .NewEchoInstance ()
450470
@@ -456,6 +476,8 @@ func main() {
456476 e .GET ("/" + ENVOY_EXT_AUTH_PATH_PREFIX + "/*" , handleExtAuthz )
457477 e .GET ("/" + ENVOY_EXT_AUTH_PATH_PREFIX , handleExtAuthz )
458478
479+ e .POST ("/log" , handleLog )
480+
459481 e .Logger .Fatal (e .StartH2CServer ("0.0.0.0:3002" , & http2.Server {
460482 MaxConcurrentStreams : 250 ,
461483 MaxReadFrameSize : 1048576 ,
0 commit comments