diff --git a/.travis.yml b/.travis.yml index d4b0de6..cfda086 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,14 +1,6 @@ language: go go: - - 1.5 - 1.6 + - 1.7 - tip - -install: - - ./script/bootstrap - -script: - - ./script/test -# - ./script/lint - diff --git a/README.mkd b/README.mkd index 8331934..2a949ca 100644 --- a/README.mkd +++ b/README.mkd @@ -1,6 +1,6 @@ # 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). diff --git a/main.go b/main.go index 944637e..57b8c17 100644 --- a/main.go +++ b/main.go @@ -114,7 +114,7 @@ func Parse(raw string) Links { } - if link.URL != "" && link.Rel != "" { + if link.URL != "" { links = append(links, link) } } diff --git a/main_test.go b/main_test.go index d9eef51..2d75426 100644 --- a/main_test.go +++ b/main_test.go @@ -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("") + + 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) { header := "; rel=\"prev\"; pet=\"cat\"" links := Parse(header)