import Link from 'http-link-header'; import querystring from 'querystring'; Link.parseAttrs = (link, parts) => { let match = null; let attr = ''; let value = ''; let attrs = ''; let uriAttrs = /<(.*)>;\s*(.*)/gi.exec(parts); if(uriAttrs) { attrs = uriAttrs[2]; link = Link.parseParams(link, uriAttrs[1]); } while(match = Link.attrPattern.exec(attrs)) { // eslint-disable-line no-cond-assign attr = match[1].toLowerCase(); value = match[4] || match[3] || match[2]; if( /\*$/.test(attr)) { Link.setAttr(link, attr, Link.parseExtendedValue(value)); } else if(/%/.test(value)) { Link.setAttr(link, attr, querystring.decode(value)); } else { Link.setAttr(link, attr, value); } } return link; }; export default Link;