Skip to content

Instantly share code, notes, and snippets.

@ePirat
Created January 16, 2013 21:12
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ePirat/4551013 to your computer and use it in GitHub Desktop.
Save ePirat/4551013 to your computer and use it in GitHub Desktop.
Link header parser (JavaScript)
var PageLinks = function(linkHeader) {
var ProfileRel = "https://tent.io/rels/profile";
var final = [];
var links = linkHeader.split(",");
if (links.length < 2)
links[0] = linkHeader;
for (link in links) {
link = links[link];
var segments = link.split(";");
if (segments.length < 2)
continue;
var linkPart = segments[0].trim();
if (linkPart.indexOf("<") != 0 || linkPart.indexOf(">") != linkPart.length - 1)
continue;
linkPart = linkPart.substring(1, linkPart.length - 1);
for (var i = 1; i < segments.length; i++) {
var rel = segments[i].trim().split("=");
if (rel.length < 2 || "rel" != rel[0])
continue;
var relValue = rel[1];
if (relValue.indexOf("\"") == 0 && relValue.indexOf("\"") == 0)
relValue = relValue.substring(1, relValue.length - 1);
if (ProfileRel == relValue)
final.push(linkPart);
}
}
return final;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment