re-use r.URL.Query

This commit is contained in:
2026-02-20 16:54:14 +05:30
parent f1601020b1
commit 3c4d1b464c
2 changed files with 12 additions and 10 deletions

View File

@@ -57,23 +57,25 @@ func (i *Pager) Limit() int {
// GetPager info from request's query parameters
func GetPager(r *http.Request) Pager {
q := r.URL.Query()
p := Pager{
Page: 1,
Size: 20,
OrderAsc: new(true),
}
if v := r.URL.Query().Get("q"); v != "" {
if v := q.Get("q"); v != "" {
p.Search = strings.TrimSpace(v)
}
if v := r.URL.Query().Get("pg"); v != "" {
if v := q.Get("pg"); v != "" {
if vv, err := strconv.Atoi(v); err == nil && vv > 0 {
p.Page = vv
}
}
if v := r.URL.Query().Get("pg_s"); v != "" {
if v := q.Get("pg_s"); v != "" {
if vv, err := strconv.Atoi(v); err == nil && vv > 0 {
if vv > MaxPageSize {
vv = MaxPageSize
@@ -82,11 +84,11 @@ func GetPager(r *http.Request) Pager {
}
}
if v := r.URL.Query().Get("pg_ob"); v != "" {
if v := q.Get("pg_ob"); v != "" {
p.OrderBy = &v
}
if v := r.URL.Query().Get("pg_o"); v != "" {
if v := q.Get("pg_o"); v != "" {
switch strings.ToLower(v) {
case "asc":
p.OrderAsc = new(true)
@@ -95,7 +97,7 @@ func GetPager(r *http.Request) Pager {
}
}
if v := r.URL.Query().Get("pg_t"); v == "n" {
if v := q.Get("pg_t"); v == "n" {
p.TotalNeeded = true
}