File manager - Edit - /home/newsbmcs.com/public_html/static/img/logo/httplib2.zip
Back
PK �a�Z��{"n n auth.pynu �[��� import base64 import re import pyparsing as pp from .error import * try: # pyparsing>=3.0.0 downcaseTokens = pp.common.downcaseTokens except AttributeError: downcaseTokens = pp.downcaseTokens UNQUOTE_PAIRS = re.compile(r"\\(.)") unquote = lambda s, l, t: UNQUOTE_PAIRS.sub(r"\1", t[0][1:-1]) # https://tools.ietf.org/html/rfc7235#section-1.2 # https://tools.ietf.org/html/rfc7235#appendix-B tchar = "!#$%&'*+-.^_`|~" + pp.nums + pp.alphas token = pp.Word(tchar).setName("token") token68 = pp.Combine(pp.Word("-._~+/" + pp.nums + pp.alphas) + pp.Optional(pp.Word("=").leaveWhitespace())).setName( "token68" ) quoted_string = pp.dblQuotedString.copy().setName("quoted-string").setParseAction(unquote) auth_param_name = token.copy().setName("auth-param-name").addParseAction(downcaseTokens) auth_param = auth_param_name + pp.Suppress("=") + (quoted_string | token) params = pp.Dict(pp.delimitedList(pp.Group(auth_param))) scheme = token("scheme") challenge = scheme + (params("params") | token68("token")) authentication_info = params.copy() www_authenticate = pp.delimitedList(pp.Group(challenge)) def _parse_authentication_info(headers, headername="authentication-info"): """https://tools.ietf.org/html/rfc7615 """ header = headers.get(headername, "").strip() if not header: return {} try: parsed = authentication_info.parseString(header) except pp.ParseException as ex: # print(ex.explain(ex)) raise MalformedHeader(headername) return parsed.asDict() def _parse_www_authenticate(headers, headername="www-authenticate"): """Returns a dictionary of dictionaries, one dict per auth_scheme.""" header = headers.get(headername, "").strip() if not header: return {} try: parsed = www_authenticate.parseString(header) except pp.ParseException as ex: # print(ex.explain(ex)) raise MalformedHeader(headername) retval = { challenge["scheme"].lower(): challenge["params"].asDict() if "params" in challenge else {"token": challenge.get("token")} for challenge in parsed } return retval PK �a�Zm�eY # __pycache__/iri2uri.cpython-310.pycnu �[��� o ���_9 � @ sj d Z dZdZg ZdZdZddlZg d�Zdd � Z d d� Z edkr3ddlZG d d� dej �Ze�� dS dS )zConverts an IRI to a URI.z!Joe Gregorio (joe@bitworking.org)zCopyright 2006, Joe Gregorioz1.0.0�MIT� N))� i�� )i � i�� )i � i� )i� i� )i i�� )i i�� )i i�� )i i�� )i i�� )i i�� )i i�� )i i�� )i i�� )i i�� )i i�� )i i�� )i i�� )i i�� )i i�� )i i�� c C s\ | }t | �}tD ]#\}}||k r |S ||kr+||kr+d�dd� | �d�D ��} |S q|S )N� c S s g | ]}d | �qS )z%%%2X� )�.0�or r �2/usr/lib/python3/dist-packages/httplib2/iri2uri.py� <listcomp>7 � zencode.<locals>.<listcomp>�utf-8)�ord�escape_range�join�encode)�c�retval�i�low�highr r r r 0 s �� r c C s^ t | t�r-tj�| �\}}}}}|�d��d�}tj�|||||f�} d�dd� | D ��} | S )z�Convert an IRI to a URI. Note that IRIs must be passed in a unicode strings. That is, do not utf-8 encode the IRI before passing it into the function.�idnar r c S s g | ]}t |��qS r )r )r r r r r r G r ziri2uri.<locals>.<listcomp>) � isinstance�str�urllib�parse�urlsplitr �decode� urlunsplitr )�uri�scheme� authority�path�query�fragmentr r r �iri2uri<