50 lines
1.4 KiB
Go
50 lines
1.4 KiB
Go
package linkheader_test
|
|
|
|
import (
|
|
"fmt"
|
|
|
|
"github.com/tomnomnom/linkheader"
|
|
)
|
|
|
|
func ExampleParse() {
|
|
header := "<https://api.github.com/user/58276/repos?page=2>; rel=\"next\", <https://api.github.com/user/58276/repos?page=2>; rel=\"last\""
|
|
links := linkheader.Parse(header)
|
|
|
|
for _, link := range links {
|
|
fmt.Printf("URL: %s; Rel: %s\n", link.URL, link.Rel)
|
|
}
|
|
|
|
// Output:
|
|
// URL: https://api.github.com/user/58276/repos?page=2; Rel: next
|
|
// URL: https://api.github.com/user/58276/repos?page=2; Rel: last
|
|
}
|
|
|
|
func ExampleParseMultiple() {
|
|
headers := []string{
|
|
"<https://api.github.com/user/58276/repos?page=2>; rel=\"next\"",
|
|
"<https://api.github.com/user/58276/repos?page=2>; rel=\"last\"",
|
|
}
|
|
links := linkheader.ParseMultiple(headers)
|
|
|
|
for _, link := range links {
|
|
fmt.Printf("URL: %s; Rel: %s\n", link.URL, link.Rel)
|
|
}
|
|
|
|
// Output:
|
|
// URL: https://api.github.com/user/58276/repos?page=2; Rel: next
|
|
// URL: https://api.github.com/user/58276/repos?page=2; Rel: last
|
|
}
|
|
|
|
func ExampleFilterByRel() {
|
|
header := "<https://api.github.com/user/58276/repos?page=2>; rel=\"next\", <https://api.github.com/user/58276/repos?page=2>; rel=\"last\""
|
|
links := linkheader.Parse(header)
|
|
|
|
for _, link := range links.FilterByRel("last") {
|
|
fmt.Printf("URL: %s; Rel: %s\n", link.URL, link.Rel)
|
|
}
|
|
|
|
// Output:
|
|
// URL: https://api.github.com/user/58276/repos?page=2; Rel: last
|
|
|
|
}
|