fix metadata

This commit is contained in:
ginuerzh
2022-04-07 23:03:31 +08:00
parent 1415462d23
commit d011aefefd
10 changed files with 32 additions and 48 deletions

View File

@ -123,13 +123,16 @@ func (d *h2Dialer) Dial(ctx context.Context, address string, opts ...dialer.Dial
req := &http.Request{
Method: http.MethodConnect,
URL: &url.URL{Scheme: "https", Host: host},
Header: make(http.Header),
Header: d.md.header,
ProtoMajor: 2,
ProtoMinor: 0,
Body: pr,
Host: host,
// ContentLength: -1,
}
if req.Header == nil {
req.Header = make(http.Header)
}
if d.md.path != "" {
req.Method = http.MethodGet
req.URL.Path = d.md.path

View File

@ -1,23 +1,33 @@
package h2
import (
"net/http"
mdata "github.com/go-gost/core/metadata"
mdx "github.com/go-gost/x/metadata"
)
type metadata struct {
host string
path string
host string
path string
header http.Header
}
func (d *h2Dialer) parseMetadata(md mdata.Metadata) (err error) {
const (
host = "host"
path = "path"
host = "host"
path = "path"
header = "header"
)
d.md.host = mdx.GetString(md, host)
d.md.path = mdx.GetString(md, path)
if m := mdx.GetStringMapString(md, header); len(m) > 0 {
h := http.Header{}
for k, v := range m {
h.Add(k, v)
}
d.md.header = h
}
return
}

View File

@ -4,8 +4,7 @@ import (
mdata "github.com/go-gost/core/metadata"
)
type metadata struct {
}
type metadata struct{}
func (d *http2Dialer) parseMetadata(md mdata.Metadata) (err error) {
return