|
|
@@ -94,8 +94,22 @@ func Dial(ctx context.Context, dest net.Destination, streamSettings *internet.Me
|
|
|
opts := pipe.OptionsFromContext(ctx)
|
|
|
preader, pwriter := pipe.New(opts...)
|
|
|
breader := &buf.BufferedReader{Reader: preader}
|
|
|
+
|
|
|
+ httpMethod := "PUT"
|
|
|
+ if httpSettings.Method != "" {
|
|
|
+ httpMethod = httpSettings.Method
|
|
|
+ }
|
|
|
+
|
|
|
+ httpHeaders := make(http.Header)
|
|
|
+
|
|
|
+ for _, httpHeader := range httpSettings.Header {
|
|
|
+ for _, httpHeaderValue := range httpHeader.Value {
|
|
|
+ httpHeaders.Set(httpHeader.Name, httpHeaderValue)
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
request := &http.Request{
|
|
|
- Method: "PUT",
|
|
|
+ Method: httpMethod,
|
|
|
Host: httpSettings.getRandomHost(),
|
|
|
Body: breader,
|
|
|
URL: &url.URL{
|
|
|
@@ -106,7 +120,7 @@ func Dial(ctx context.Context, dest net.Destination, streamSettings *internet.Me
|
|
|
Proto: "HTTP/2",
|
|
|
ProtoMajor: 2,
|
|
|
ProtoMinor: 0,
|
|
|
- Header: make(http.Header),
|
|
|
+ Header: httpHeaders,
|
|
|
}
|
|
|
// Disable any compression method from server.
|
|
|
request.Header.Set("Accept-Encoding", "identity")
|