diff options
author | 2023-09-20 16:49:46 +0100 | |
---|---|---|
committer | 2023-09-20 16:49:46 +0100 | |
commit | fc11deeb83a76a0dbe550842ce6594602a9fb8bc (patch) | |
tree | c2d079d548218bda1113308e8ad7a0351308294d /internal/paging | |
parent | [chore]: Bump go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp... (diff) | |
download | gotosocial-fc11deeb83a76a0dbe550842ce6594602a9fb8bc.tar.xz |
[feature] add paging to AP following / followers endpoints (#2198)
Diffstat (limited to 'internal/paging')
-rw-r--r-- | internal/paging/page.go | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/internal/paging/page.go b/internal/paging/page.go index 0a9bc71b1..a56f674dd 100644 --- a/internal/paging/page.go +++ b/internal/paging/page.go @@ -205,12 +205,21 @@ func (p *Page) Prev(lo, hi string) *Page { return p2 } +// ToLink performs ToLinkURL() and calls .String() on the resulting URL. +func (p *Page) ToLink(proto, host, path string, queryParams url.Values) string { + u := p.ToLinkURL(proto, host, path, queryParams) + if u == nil { + return "" + } + return u.String() +} + // ToLink builds a URL link for given endpoint information and extra query parameters, // appending this Page's minimum / maximum boundaries and available limit (if any). -func (p *Page) ToLink(proto, host, path string, queryParams url.Values) string { +func (p *Page) ToLinkURL(proto, host, path string, queryParams url.Values) *url.URL { if p == nil { // no paging. - return "" + return nil } if queryParams == nil { @@ -234,10 +243,10 @@ func (p *Page) ToLink(proto, host, path string, queryParams url.Values) string { } // Build URL string. - return (&url.URL{ + return &url.URL{ Scheme: proto, Host: host, Path: path, RawQuery: queryParams.Encode(), - }).String() + } } |