@@ -11,16 +11,16 @@ import (
11
11
func getProxyMiddleware (arg [2 ]string , preOutputMids []middleware.Middleware ) (middleware.Middleware , error ) {
12
12
var err error
13
13
var reMatch * regexp.Regexp
14
- var replace string
14
+ var replacement string
15
15
16
16
reMatch , err = regexp .Compile (arg [0 ])
17
17
if err != nil {
18
18
return nil , err
19
19
}
20
- replace = arg [1 ]
20
+ replacement = arg [1 ]
21
21
22
22
proxy := & httputil.ReverseProxy {
23
- Director : func (request * http. Request ) {},
23
+ Rewrite : func (proxyReq * httputil. ProxyRequest ) {},
24
24
}
25
25
26
26
return func (w http.ResponseWriter , r * http.Request , context * middleware.Context ) (result middleware.ProcessResult ) {
@@ -34,7 +34,7 @@ func getProxyMiddleware(arg [2]string, preOutputMids []middleware.Middleware) (m
34
34
preOutputMids [i ](w , r , context )
35
35
}
36
36
37
- targetUrl , err := util .ReplaceUrl (reMatch , requestURI , replace )
37
+ targetUrl , err := util .ReplaceUrl (reMatch , requestURI , replacement )
38
38
if err != nil {
39
39
util .LogError (context .Logger , err )
40
40
w .WriteHeader (http .StatusBadRequest )
@@ -61,17 +61,17 @@ func getProxyMiddleware(arg [2]string, preOutputMids []middleware.Middleware) (m
61
61
}
62
62
}
63
63
64
- proxyReq := & http.Request {
64
+ outHeader := r .Header .Clone ()
65
+ outHeader .Set ("Host" , targetUrl .Host )
66
+ outHeader .Set ("Referer" , targetUrl .RequestURI ())
67
+ outHeader .Set ("Origin" , targetUrl .Scheme + "://" + targetUrl .Host )
68
+ outReq := & http.Request {
65
69
Method : r .Method ,
66
70
URL : targetUrl ,
67
71
Body : r .Body ,
68
- Header : r . Header . Clone () ,
72
+ Header : outHeader ,
69
73
}
70
-
71
- proxyReq .Header .Set ("Host" , targetUrl .Host )
72
- proxyReq .Header .Set ("Referer" , targetUrl .RequestURI ())
73
- proxyReq .Header .Set ("Origin" , targetUrl .Scheme + "://" + targetUrl .Host )
74
- proxy .ServeHTTP (w , proxyReq )
74
+ proxy .ServeHTTP (w , outReq )
75
75
return
76
76
}, nil
77
77
}
0 commit comments