VictoriaMetrics/lib/protoparser/common/timestamp.go
Aliaksandr Valialkin 62fde80490 lib/protoparser/common: do not read request body when parsing timestamp query arg
This was preventing from reading data via /api/v1/prometheus/import .

Updates https://github.com/VictoriaMetrics/VictoriaMetrics/issues/750
2020-09-11 14:44:58 +03:00

22 lines
501 B
Go

package common
import (
"fmt"
"net/http"
"strconv"
)
// GetTimestamp extracts unix timestamp in milliseconds from `timestamp` query arg.
//
// It returns 0 if there is no `timestamp` query arg.
func GetTimestamp(req *http.Request) (int64, error) {
ts := req.URL.Query().Get("timestamp")
if len(ts) == 0 {
return 0, nil
}
timestamp, err := strconv.ParseInt(ts, 10, 64)
if err != nil {
return 0, fmt.Errorf("cannot parse `timestamp=%s` query arg: %w", ts, err)
}
return timestamp, nil
}