VictoriaMetrics/lib/protoparser/common/timestamp.go

23 lines
501 B
Go
Raw Normal View History

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
}