From 545a105ba097da68d2b996e2d172e88d6e8dcf9e Mon Sep 17 00:00:00 2001 From: Alex X Date: Tue, 22 Apr 2025 16:37:10 +0300 Subject: [PATCH] Add support body to expr fetch func --- pkg/expr/expr.go | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/pkg/expr/expr.go b/pkg/expr/expr.go index 36719100..e2ed0ca6 100644 --- a/pkg/expr/expr.go +++ b/pkg/expr/expr.go @@ -6,17 +6,23 @@ import ( "io" "net/http" "regexp" + "strings" "github.com/AlexxIT/go2rtc/pkg/tcp" "github.com/expr-lang/expr" ) -func newRequest(method, url string, headers map[string]any) (*http.Request, error) { +func newRequest(method, url string, headers map[string]any, body string) (*http.Request, error) { + var rd io.Reader + if method == "" { method = "GET" } + if body != "" { + rd = strings.NewReader(body) + } - req, err := http.NewRequest(method, url, nil) + req, err := http.NewRequest(method, url, rd) if err != nil { return nil, err } @@ -55,7 +61,8 @@ var Options = []expr.Option{ options := params[1].(map[string]any) method, _ := options["method"].(string) headers, _ := options["headers"].(map[string]any) - req, err = newRequest(method, url, headers) + body, _ := options["body"].(string) + req, err = newRequest(method, url, headers, body) } else { req, err = http.NewRequest("GET", url, nil) }