From 00b818b4d7500c6eb961f966c5bb25745d563ba7 Mon Sep 17 00:00:00 2001 From: Alex X Date: Mon, 21 Aug 2023 06:30:05 +0300 Subject: [PATCH] Add support custom headers for HTTP source --- internal/http/http.go | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/internal/http/http.go b/internal/http/http.go index c486d226..eef9a002 100644 --- a/internal/http/http.go +++ b/internal/http/http.go @@ -24,13 +24,23 @@ func Init() { streams.HandleFunc("tcp", handleTCP) } -func handleHTTP(url string) (core.Producer, error) { +func handleHTTP(rawURL string) (core.Producer, error) { + rawURL, rawQuery, _ := strings.Cut(rawURL, "#") + // first we get the Content-Type to define supported producer - req, err := http.NewRequest("GET", url, nil) + req, err := http.NewRequest("GET", rawURL, nil) if err != nil { return nil, err } + if rawQuery != "" { + query := streams.ParseQuery(rawQuery) + for _, header := range query["header"] { + key, value, _ := strings.Cut(header, ":") + req.Header.Add(key, value) + } + } + res, err := tcp.Do(req) if err != nil { return nil, err