VictoriaMetrics/lib/httputils/array.go
Aliaksandr Valialkin fced48d540
app/vlinsert: implement the ability to add extra fields to the ingested logs
This can be done via extra_fields query arg or via VL-Extra-Fields HTTP header.

See https://github.com/VictoriaMetrics/VictoriaMetrics/issues/7354#issuecomment-2448671445

(cherry picked from commit 4478e48eb6)
2024-11-04 10:23:16 -03:00

24 lines
601 B
Go

package httputils
import (
"net/http"
"strings"
)
// GetArray returns an array of comma-separated values from r with the argKey quey arg or with headerKey header.
func GetArray(r *http.Request, argKey, headerKey string) []string {
v := GetRequestValue(r, argKey, headerKey)
if v == "" {
return nil
}
return strings.Split(v, ",")
}
// GetRequestValue returns r value for the given argKey query arg or for the given headerKey header.
func GetRequestValue(r *http.Request, argKey, headerKey string) string {
v := r.FormValue(argKey)
if v == "" {
v = r.Header.Get(headerKey)
}
return v
}