add header metadata for http2
This commit is contained in:
parent
066e6b90e6
commit
ba2cd11fbe
@ -65,12 +65,12 @@ func (c *http2Connector) Connect(ctx context.Context, conn net.Conn, network, ad
|
|||||||
Host: address,
|
Host: address,
|
||||||
ProtoMajor: 2,
|
ProtoMajor: 2,
|
||||||
ProtoMinor: 0,
|
ProtoMinor: 0,
|
||||||
Header: make(http.Header),
|
Header: c.md.header,
|
||||||
Body: pr,
|
Body: pr,
|
||||||
// ContentLength: -1,
|
// ContentLength: -1,
|
||||||
}
|
}
|
||||||
if c.md.UserAgent != "" {
|
if req.Header == nil {
|
||||||
req.Header.Set("User-Agent", c.md.UserAgent)
|
req.Header = make(http.Header)
|
||||||
}
|
}
|
||||||
|
|
||||||
if user := c.options.Auth; user != nil {
|
if user := c.options.Auth; user != nil {
|
||||||
|
@ -1,31 +1,30 @@
|
|||||||
package http2
|
package http2
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"net/http"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
mdata "github.com/go-gost/core/metadata"
|
mdata "github.com/go-gost/core/metadata"
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
|
||||||
defaultUserAgent = "Chrome/78.0.3904.106"
|
|
||||||
)
|
|
||||||
|
|
||||||
type metadata struct {
|
type metadata struct {
|
||||||
connectTimeout time.Duration
|
connectTimeout time.Duration
|
||||||
UserAgent string
|
header http.Header
|
||||||
}
|
}
|
||||||
|
|
||||||
func (c *http2Connector) parseMetadata(md mdata.Metadata) (err error) {
|
func (c *http2Connector) parseMetadata(md mdata.Metadata) (err error) {
|
||||||
const (
|
const (
|
||||||
connectTimeout = "timeout"
|
connectTimeout = "timeout"
|
||||||
userAgent = "userAgent"
|
header = "header"
|
||||||
)
|
)
|
||||||
|
|
||||||
c.md.connectTimeout = mdata.GetDuration(md, connectTimeout)
|
c.md.connectTimeout = mdata.GetDuration(md, connectTimeout)
|
||||||
c.md.UserAgent = mdata.GetString(md, userAgent)
|
if mm := mdata.GetStringMapString(md, header); len(mm) > 0 {
|
||||||
if c.md.UserAgent == "" {
|
hd := http.Header{}
|
||||||
c.md.UserAgent = defaultUserAgent
|
for k, v := range mm {
|
||||||
|
hd.Add(k, v)
|
||||||
|
}
|
||||||
|
c.md.header = hd
|
||||||
}
|
}
|
||||||
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user