From 15dcc60407a59368c32494fda6c2078225f3dc37 Mon Sep 17 00:00:00 2001 From: Yening Qin <710leo@gmail.com> Date: Wed, 2 Aug 2023 17:20:06 +0800 Subject: [PATCH] refactor: proxy api (#1656) * refactor: proxy api --- center/router/router_proxy.go | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/center/router/router_proxy.go b/center/router/router_proxy.go index ab4b6042..a1c4fe0d 100644 --- a/center/router/router_proxy.go +++ b/center/router/router_proxy.go @@ -3,6 +3,7 @@ package router import ( "context" "crypto/tls" + "fmt" "net" "net/http" "net/http/httputil" @@ -164,10 +165,18 @@ func (rt *Router) dsProxy(c *gin.Context) { transportPut(dsId, ds.UpdatedAt, transport) } + modifyResponse := func(r *http.Response) error { + if r.StatusCode == http.StatusUnauthorized { + return fmt.Errorf("unauthorized access") + } + return nil + } + proxy := &httputil.ReverseProxy{ - Director: director, - Transport: transport, - ErrorHandler: errFunc, + Director: director, + Transport: transport, + ErrorHandler: errFunc, + ModifyResponse: modifyResponse, } proxy.ServeHTTP(c.Writer, c.Request)