func()

in links.go [26:62]


func (s Header) Links() []Link {
	links := make([]Link, 0)

	for _, chunk := range strings.Split(string(s), ",") {

		l := Link{URL: "", Rel: "", Params: make(map[string]string)}

		for _, part := range strings.Split(chunk, ";") {
			part = strings.Trim(part, " ")
			if part == "" {
				continue
			}
			if part[0] == '<' && part[len(part)-1] == '>' {
				l.URL = strings.Trim(part, "<>")
				continue
			}

			key, val := parseParam(part)
			if key == "" {
				continue
			}

			if strings.ToLower(key) == "rel" {
				l.Rel = val

				continue
			}
			l.Params[key] = val
		}

		if l.URL != "" {
			links = append(links, l)
		}
	}

	return links
}