mirror of
https://github.com/yusing/godoxy.git
synced 2026-03-28 03:51:08 +01:00
metrics: metric utils
This commit is contained in:
36
internal/metrics/utils/utils.go
Normal file
36
internal/metrics/utils/utils.go
Normal file
@@ -0,0 +1,36 @@
|
||||
package metricsutils
|
||||
|
||||
import (
|
||||
"net/url"
|
||||
"strconv"
|
||||
"time"
|
||||
)
|
||||
|
||||
func CalculateBeginEnd(n, limit, offset int) (int, int, bool) {
|
||||
if n == 0 || offset >= n {
|
||||
return 0, 0, false
|
||||
}
|
||||
if limit == 0 {
|
||||
limit = n
|
||||
}
|
||||
if offset+limit > n {
|
||||
limit = n - offset
|
||||
}
|
||||
return offset, offset + limit, true
|
||||
}
|
||||
|
||||
func QueryInt(query url.Values, key string, defaultValue int) int {
|
||||
value, _ := strconv.Atoi(query.Get(key))
|
||||
if value == 0 {
|
||||
return defaultValue
|
||||
}
|
||||
return value
|
||||
}
|
||||
|
||||
func QueryDuration(query url.Values, key string, defaultValue time.Duration) time.Duration {
|
||||
value, _ := time.ParseDuration(query.Get(key))
|
||||
if value == 0 {
|
||||
return defaultValue
|
||||
}
|
||||
return value
|
||||
}
|
||||
Reference in New Issue
Block a user