Ryuno-Ki / httplink

RFC8288 HTTP Link Header Parser for python

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

HTTP Link Header Parser

Python (>= 3.6) library for parsing RFC 8288 HTTP Link headers.

from httplink import parse_link_header
result = parse_link_header('''
   <https://example.com/foo/index.html>; rel=index;
   foo*=UTF-8'en'b%c3%a5r, </path#frag>;rel="what ever"
''')

## Target URL:
print(result['index'].target)
# https://example.com/foo/index.html

## Set of link relations:
print(result['index'].rel)
# {'index'}

## Decoded attribute value:
print(result['index']['foo'])
# bår

## Raw undecoded attributes:
print(result['index'].attributes)
# [('rel', 'index'), ('foo*', "UTF-8'en'b%c3%a5r")]

## Iterate over all links:
for link in result.links:
    print(link.rel, link.target)
# {'index'} https://example.com/foo/index.html
# {'ever', 'what'} /path#frag

Multiple Link headers can be parsed at the same time if you concatenate them with ,.

Redundant white space and comma delimiters are ignored.

["key"]-access is always case-insensitive.

Python 2.7 can be loaded via

from httplink.backport import parse_link_header

About

RFC8288 HTTP Link Header Parser for python

License:MIT License


Languages

Language:Python 100.0%