Fixes links with no rel attribute; removes old Go versions from travis

This commit is contained in:
Tom Hudson 2017-05-04 09:43:35 +00:00
parent 0d46e1b419
commit 1baa7d93fa
4 changed files with 17 additions and 11 deletions

View File

@ -1,14 +1,6 @@
language: go language: go
go: go:
- 1.5
- 1.6 - 1.6
- 1.7
- tip - tip
install:
- ./script/bootstrap
script:
- ./script/test
# - ./script/lint

View File

@ -1,6 +1,6 @@
# Golang Link Header Parser # Golang Link Header Parser
Library for parsing HTTP Link headers. Requires Go 1.2 or higher. Library for parsing HTTP Link headers. Requires Go 1.6 or higher.
Docs can be found on [the GoDoc page](https://godoc.org/github.com/tomnomnom/linkheader). Docs can be found on [the GoDoc page](https://godoc.org/github.com/tomnomnom/linkheader).

View File

@ -114,7 +114,7 @@ func Parse(raw string) Links {
} }
if link.URL != "" && link.Rel != "" { if link.URL != "" {
links = append(links, link) links = append(links, link)
} }
} }

View File

@ -45,6 +45,20 @@ func TestEmpty(t *testing.T) {
} }
} }
// Although not often seen in the wild, the grammar in RFC 5988 suggests that it's
// valid for a link header to have nothing but a URL.
func TestNoRel(t *testing.T) {
links := Parse("<http://example.com>")
if len(links) != 1 {
t.Fatalf("Length of links should be 1, but was %d", len(links))
}
if links[0].URL != "http://example.com" {
t.Errorf("URL should be http://example.com, but was %s", links[0].URL)
}
}
func TestLinkMethods(t *testing.T) { func TestLinkMethods(t *testing.T) {
header := "<https://api.github.com/user/9287/repos?page=1&per_page=100>; rel=\"prev\"; pet=\"cat\"" header := "<https://api.github.com/user/9287/repos?page=1&per_page=100>; rel=\"prev\"; pet=\"cat\""
links := Parse(header) links := Parse(header)