mirror of
https://github.com/yusing/godoxy.git
synced 2025-05-20 12:42:34 +02:00
add $upstream_name
This commit is contained in:
parent
59f4eaf3ea
commit
2f275ca81e
3 changed files with 12 additions and 6 deletions
|
@ -13,6 +13,7 @@ const (
|
|||
HeaderXForwardedURI = "X-Forwarded-Uri"
|
||||
HeaderXRealIP = "X-Real-IP"
|
||||
|
||||
HeaderUpstreamName = "X-GoDoxy-Upstream-Name"
|
||||
HeaderUpstreamScheme = "X-GoDoxy-Upstream-Scheme"
|
||||
HeaderUpstreamHost = "X-GoDoxy-Upstream-Host"
|
||||
HeaderUpstreamPort = "X-GoDoxy-Upstream-Port"
|
||||
|
|
|
@ -8,13 +8,14 @@ import (
|
|||
|
||||
// internal use only.
|
||||
type setUpstreamHeaders struct {
|
||||
Scheme, Host, Port string
|
||||
Name, Scheme, Host, Port string
|
||||
}
|
||||
|
||||
var suh = NewMiddleware[setUpstreamHeaders]()
|
||||
|
||||
func newSetUpstreamHeaders(rp *gphttp.ReverseProxy) *Middleware {
|
||||
m, err := suh.New(OptionsRaw{
|
||||
"name": rp.TargetName,
|
||||
"scheme": rp.TargetURL.Scheme,
|
||||
"host": rp.TargetURL.Hostname(),
|
||||
"port": rp.TargetURL.Port(),
|
||||
|
@ -27,6 +28,7 @@ func newSetUpstreamHeaders(rp *gphttp.ReverseProxy) *Middleware {
|
|||
|
||||
// before implements RequestModifier.
|
||||
func (s setUpstreamHeaders) before(w http.ResponseWriter, r *http.Request) (proceed bool) {
|
||||
r.Header.Set(gphttp.HeaderUpstreamName, s.Name)
|
||||
r.Header.Set(gphttp.HeaderUpstreamScheme, s.Scheme)
|
||||
r.Header.Set(gphttp.HeaderUpstreamHost, s.Host)
|
||||
r.Header.Set(gphttp.HeaderUpstreamPort, s.Port)
|
||||
|
|
|
@ -37,11 +37,13 @@ const (
|
|||
VarRemoteHost = "$remote_host"
|
||||
VarRemotePort = "$remote_port"
|
||||
VarRemoteAddr = "$remote_addr"
|
||||
VarUpstreamScheme = "$upstream_scheme"
|
||||
VarUpstreamHost = "$upstream_host"
|
||||
VarUpstreamPort = "$upstream_port"
|
||||
VarUpstreamAddr = "$upstream_addr"
|
||||
VarUpstreamURL = "$upstream_url"
|
||||
|
||||
VarUpstreamName = "$upstream_name"
|
||||
VarUpstreamScheme = "$upstream_scheme"
|
||||
VarUpstreamHost = "$upstream_host"
|
||||
VarUpstreamPort = "$upstream_port"
|
||||
VarUpstreamAddr = "$upstream_addr"
|
||||
VarUpstreamURL = "$upstream_url"
|
||||
|
||||
VarRespContentType = "$resp_content_type"
|
||||
VarRespContentLen = "$resp_content_length"
|
||||
|
@ -89,6 +91,7 @@ var staticReqVarSubsMap = map[string]reqVarGetter{
|
|||
return ""
|
||||
},
|
||||
VarRemoteAddr: func(req *http.Request) string { return req.RemoteAddr },
|
||||
VarUpstreamName: func(req *http.Request) string { return req.Header.Get(gphttp.HeaderUpstreamName) },
|
||||
VarUpstreamScheme: func(req *http.Request) string { return req.Header.Get(gphttp.HeaderUpstreamScheme) },
|
||||
VarUpstreamHost: func(req *http.Request) string { return req.Header.Get(gphttp.HeaderUpstreamHost) },
|
||||
VarUpstreamPort: func(req *http.Request) string { return req.Header.Get(gphttp.HeaderUpstreamPort) },
|
||||
|
|
Loading…
Add table
Reference in a new issue