fix: method in vmess http-opts is not used
This commit is contained in:
parent
129283066f
commit
9f530525d7
2 changed files with 11 additions and 1 deletions
8
common/util/manipulation.go
Normal file
8
common/util/manipulation.go
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
package util
|
||||||
|
|
||||||
|
import "github.com/samber/lo"
|
||||||
|
|
||||||
|
func EmptyOr[T comparable](v T, def T) T {
|
||||||
|
ret, _ := lo.Coalesce(v, def)
|
||||||
|
return ret
|
||||||
|
}
|
|
@ -8,6 +8,8 @@ import (
|
||||||
"net/http"
|
"net/http"
|
||||||
"net/textproto"
|
"net/textproto"
|
||||||
|
|
||||||
|
"github.com/Dreamacro/clash/common/util"
|
||||||
|
|
||||||
"github.com/zhangyunhao116/fastrand"
|
"github.com/zhangyunhao116/fastrand"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -59,7 +61,7 @@ func (hc *httpConn) Write(b []byte) (int, error) {
|
||||||
}
|
}
|
||||||
|
|
||||||
u := fmt.Sprintf("http://%s%s", host, path)
|
u := fmt.Sprintf("http://%s%s", host, path)
|
||||||
req, _ := http.NewRequest("GET", u, bytes.NewBuffer(b))
|
req, _ := http.NewRequest(util.EmptyOr(hc.cfg.Method, http.MethodGet), u, bytes.NewBuffer(b))
|
||||||
for key, list := range hc.cfg.Headers {
|
for key, list := range hc.cfg.Headers {
|
||||||
req.Header.Set(key, list[fastrand.Intn(len(list))])
|
req.Header.Set(key, list[fastrand.Intn(len(list))])
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue