反向代理支持RequestPath、RequestURI等

This commit is contained in:
刘祥超
2020-09-27 10:02:54 +08:00
parent ab7e08d3b1
commit cb85a9bb01
5 changed files with 129 additions and 7 deletions

View File

@@ -727,7 +727,6 @@ func (this *HTTPRequest) setForwardHeaders(header http.Header) {
}
// 处理自定义Request Header
// TODO 处理一些被Golang转换了的Header比如Websocket
func (this *HTTPRequest) processRequestHeaders(reqHeader http.Header) {
if this.web.RequestHeaderPolicy != nil && this.web.RequestHeaderPolicy.IsOn {
// 删除某些Header
@@ -768,6 +767,18 @@ func (this *HTTPRequest) processRequestHeaders(reqHeader http.Header) {
}
}
// 处理一些被Golang转换了的Header
// TODO 可以自定义要转换的Header
func (this *HTTPRequest) fixRequestHeader(header http.Header) {
for k, v := range header {
if strings.Contains(k, "-Websocket-") {
header.Del(k)
k = strings.ReplaceAll(k, "-Websocket-", "-WebSocket-")
header[k] = v
}
}
}
// 处理自定义Response Header
func (this *HTTPRequest) processResponseHeaders(statusCode int) {
responseHeader := this.writer.Header()