(serverAddr string, transport http.RoundTripper, enforcer casbin.Enforcer)
| 71 | } |
| 72 | |
| 73 | func NewHTTPReverseProxy(serverAddr string, transport http.RoundTripper, enforcer casbin.Enforcer) (func(writer http.ResponseWriter, request *http.Request), error) { |
| 74 | proxy, err := GetProxyServer(serverAddr, transport, Proxy) |
| 75 | if err != nil { |
| 76 | return nil, err |
| 77 | } |
| 78 | return func(w http.ResponseWriter, r *http.Request) { |
| 79 | |
| 80 | token := r.Header.Get("token") |
| 81 | if ok := enforcer.Enforce(token, casbin.ResourceGlobal, casbin.ActionGet, "*"); !ok { |
| 82 | common.WriteJsonResp(w, nil, "Unauthorized User", http.StatusForbidden) |
| 83 | return |
| 84 | } |
| 85 | proxy.ServeHTTP(w, r) |
| 86 | }, nil |
| 87 | } |
no test coverage detected
searching dependent graphs…