diff options
Diffstat (limited to 'vendor/github.com/tomnomnom/linkheader')
-rw-r--r-- | vendor/github.com/tomnomnom/linkheader/.gitignore | 2 | ||||
-rw-r--r-- | vendor/github.com/tomnomnom/linkheader/.travis.yml | 6 | ||||
-rw-r--r-- | vendor/github.com/tomnomnom/linkheader/CONTRIBUTING.mkd | 10 | ||||
-rw-r--r-- | vendor/github.com/tomnomnom/linkheader/LICENSE | 21 | ||||
-rw-r--r-- | vendor/github.com/tomnomnom/linkheader/README.mkd | 35 | ||||
-rw-r--r-- | vendor/github.com/tomnomnom/linkheader/main.go | 151 |
6 files changed, 0 insertions, 225 deletions
diff --git a/vendor/github.com/tomnomnom/linkheader/.gitignore b/vendor/github.com/tomnomnom/linkheader/.gitignore deleted file mode 100644 index 0a00ddebb..000000000 --- a/vendor/github.com/tomnomnom/linkheader/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -cpu.out -linkheader.test diff --git a/vendor/github.com/tomnomnom/linkheader/.travis.yml b/vendor/github.com/tomnomnom/linkheader/.travis.yml deleted file mode 100644 index cfda08659..000000000 --- a/vendor/github.com/tomnomnom/linkheader/.travis.yml +++ /dev/null @@ -1,6 +0,0 @@ -language: go - -go: - - 1.6 - - 1.7 - - tip diff --git a/vendor/github.com/tomnomnom/linkheader/CONTRIBUTING.mkd b/vendor/github.com/tomnomnom/linkheader/CONTRIBUTING.mkd deleted file mode 100644 index 0339bec55..000000000 --- a/vendor/github.com/tomnomnom/linkheader/CONTRIBUTING.mkd +++ /dev/null @@ -1,10 +0,0 @@ -# Contributing - -* Raise an issue if appropriate -* Fork the repo -* Bootstrap the dev dependencies (run `./script/bootstrap`) -* Make your changes -* Use [gofmt](https://golang.org/cmd/gofmt/) -* Make sure the tests pass (run `./script/test`) -* Make sure the linters pass (run `./script/lint`) -* Issue a pull request diff --git a/vendor/github.com/tomnomnom/linkheader/LICENSE b/vendor/github.com/tomnomnom/linkheader/LICENSE deleted file mode 100644 index 55192df56..000000000 --- a/vendor/github.com/tomnomnom/linkheader/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2016 Tom Hudson - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/vendor/github.com/tomnomnom/linkheader/README.mkd b/vendor/github.com/tomnomnom/linkheader/README.mkd deleted file mode 100644 index 2a949cac2..000000000 --- a/vendor/github.com/tomnomnom/linkheader/README.mkd +++ /dev/null @@ -1,35 +0,0 @@ -# Golang Link Header Parser - -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). - -[](https://travis-ci.org/tomnomnom/linkheader) - -## Basic Example - -```go -package main - -import ( - "fmt" - - "github.com/tomnomnom/linkheader" -) - -func main() { - 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 -``` - - diff --git a/vendor/github.com/tomnomnom/linkheader/main.go b/vendor/github.com/tomnomnom/linkheader/main.go deleted file mode 100644 index 6b81321b8..000000000 --- a/vendor/github.com/tomnomnom/linkheader/main.go +++ /dev/null @@ -1,151 +0,0 @@ -// Package linkheader provides functions for parsing HTTP Link headers -package linkheader - -import ( - "fmt" - "strings" -) - -// A Link is a single URL and related parameters -type Link struct { - URL string - Rel string - Params map[string]string -} - -// HasParam returns if a Link has a particular parameter or not -func (l Link) HasParam(key string) bool { - for p := range l.Params { - if p == key { - return true - } - } - return false -} - -// Param returns the value of a parameter if it exists -func (l Link) Param(key string) string { - for k, v := range l.Params { - if key == k { - return v - } - } - return "" -} - -// String returns the string representation of a link -func (l Link) String() string { - - p := make([]string, 0, len(l.Params)) - for k, v := range l.Params { - p = append(p, fmt.Sprintf("%s=\"%s\"", k, v)) - } - if l.Rel != "" { - p = append(p, fmt.Sprintf("%s=\"%s\"", "rel", l.Rel)) - } - return fmt.Sprintf("<%s>; %s", l.URL, strings.Join(p, "; ")) -} - -// Links is a slice of Link structs -type Links []Link - -// FilterByRel filters a group of Links by the provided Rel attribute -func (l Links) FilterByRel(r string) Links { - links := make(Links, 0) - for _, link := range l { - if link.Rel == r { - links = append(links, link) - } - } - return links -} - -// String returns the string representation of multiple Links -// for use in HTTP responses etc -func (l Links) String() string { - if l == nil { - return fmt.Sprint(nil) - } - - var strs []string - for _, link := range l { - strs = append(strs, link.String()) - } - return strings.Join(strs, ", ") -} - -// Parse parses a raw Link header in the form: -// <url>; rel="foo", <url>; rel="bar"; wat="dis" -// returning a slice of Link structs -func Parse(raw string) Links { - var links Links - - // One chunk: <url>; rel="foo" - for _, chunk := range strings.Split(raw, ",") { - - link := Link{URL: "", Rel: "", Params: make(map[string]string)} - - // Figure out what each piece of the chunk is - for _, piece := range strings.Split(chunk, ";") { - - piece = strings.Trim(piece, " ") - if piece == "" { - continue - } - - // URL - if piece[0] == '<' && piece[len(piece)-1] == '>' { - link.URL = strings.Trim(piece, "<>") - continue - } - - // Params - key, val := parseParam(piece) - if key == "" { - continue - } - - // Special case for rel - if strings.ToLower(key) == "rel" { - link.Rel = val - } else { - link.Params[key] = val - } - } - - if link.URL != "" { - links = append(links, link) - } - } - - return links -} - -// ParseMultiple is like Parse, but accepts a slice of headers -// rather than just one header string -func ParseMultiple(headers []string) Links { - links := make(Links, 0) - for _, header := range headers { - links = append(links, Parse(header)...) - } - return links -} - -// parseParam takes a raw param in the form key="val" and -// returns the key and value as seperate strings -func parseParam(raw string) (key, val string) { - - parts := strings.SplitN(raw, "=", 2) - if len(parts) == 1 { - return parts[0], "" - } - if len(parts) != 2 { - return "", "" - } - - key = parts[0] - val = strings.Trim(parts[1], "\"") - - return key, val - -} |