Add support custom headers for HTTP source
This commit is contained in:
+12
-2
@@ -24,13 +24,23 @@ func Init() {
|
|||||||
streams.HandleFunc("tcp", handleTCP)
|
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
|
// 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 {
|
if err != nil {
|
||||||
return nil, err
|
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)
|
res, err := tcp.Do(req)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
|
|||||||
Reference in New Issue
Block a user