Add http2http client plugin with hostHeaderRewrite and requestHeaders support (#4275)

This commit is contained in:
fatedier
2024-06-12 17:30:10 +08:00
committed by GitHub
parent f390e4a401
commit 939c490768
5 changed files with 186 additions and 8 deletions

View File

@@ -76,6 +76,7 @@ const (
PluginSocks5 = "socks5"
PluginStaticFile = "static_file"
PluginUnixDomainSocket = "unix_domain_socket"
PluginHTTP2HTTP = "http2http"
)
var clientPluginOptionsTypeMap = map[string]reflect.Type{
@@ -86,6 +87,7 @@ var clientPluginOptionsTypeMap = map[string]reflect.Type{
PluginSocks5: reflect.TypeOf(Socks5PluginOptions{}),
PluginStaticFile: reflect.TypeOf(StaticFilePluginOptions{}),
PluginUnixDomainSocket: reflect.TypeOf(UnixDomainSocketPluginOptions{}),
PluginHTTP2HTTP: reflect.TypeOf(HTTP2HTTPPluginOptions{}),
}
type HTTP2HTTPSPluginOptions struct {
@@ -137,3 +139,11 @@ type UnixDomainSocketPluginOptions struct {
Type string `json:"type,omitempty"`
UnixPath string `json:"unixPath,omitempty"`
}
// Added HTTP2HTTPPluginOptions struct
type HTTP2HTTPPluginOptions struct {
Type string `json:"type,omitempty"`
LocalAddr string `json:"localAddr,omitempty"`
HostHeaderRewrite string `json:"hostHeaderRewrite,omitempty"`
RequestHeaders HeaderOperations `json:"requestHeaders,omitempty"`
}