aboutsummaryrefslogtreecommitdiff
path: root/http_run_handler.go
diff options
context:
space:
mode:
authorShulhan <ms@kilabit.info>2024-02-21 01:29:25 +0700
committerShulhan <ms@kilabit.info>2024-02-21 01:34:56 +0700
commit9ca138628023b926ddf07cbd2e93562b8e782cf6 (patch)
treeb2c4524d4ed5ebd7098ad69c2917ee49159e2d93 /http_run_handler.go
parent99999635f67931e1a6deb608f13b2dc2ecd9df73 (diff)
downloadgorankusu-9ca138628023b926ddf07cbd2e93562b8e782cf6.tar.xz
all: add global HTTP headers for Target
The Headers field on Target define the global headers that will be send along with all HTTPTarget or WebSocketTarget. The same header can also be defined on HTTPTarget that override the value of Target.
Diffstat (limited to 'http_run_handler.go')
-rw-r--r--http_run_handler.go18
1 files changed, 15 insertions, 3 deletions
diff --git a/http_run_handler.go b/http_run_handler.go
index 00212ec..1fa66d1 100644
--- a/http_run_handler.go
+++ b/http_run_handler.go
@@ -41,10 +41,22 @@ func DefaultHTTPRun() HTTPRunHandler {
}
var (
- headers = rr.HTTPTarget.Headers.ToHTTPHeader()
-
- httpRequest *http.Request
+ headers = http.Header{}
+ key string
+ fi FormInput
)
+ for key, fi = range rr.Target.Headers {
+ if len(fi.Value) != 0 {
+ headers.Set(key, fi.Value)
+ }
+ }
+ for key, fi = range rr.HTTPTarget.Headers {
+ if len(fi.Value) != 0 {
+ headers.Set(key, fi.Value)
+ }
+ }
+
+ var httpRequest *http.Request
httpRequest, err = httpc.GenerateHttpRequest(
rr.HTTPTarget.Method,