File: //home/arjun/projects/env/lib/python3.10/site-packages/tornado/__pycache__/httputil.cpython-310.pyc
o
we� �
@ sz d Z ddlZddlZddlZddlZddlZddlm Z ddl
mZ ddlZ
ddlZddlmZ ddlZddlZddlmZmZmZmZ ddlmZmZmZ ddlmZ dd lmZm Z e ddl!Z!dd
l!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z, e!j-r�ddl!m.Z. ddl/m0Z0 ddl1Z1e d
�de2de2fdd��Z3G dd� dej4j5�Z6G dd� de7�Z8G dd� de9�Z:G dd� de9�Z;G dd� de7�Z<G dd� de7�Z=G dd� de7�Z>d e2d!e(de'e2e2f e$e"e2e2f e"e"e2e2f d"f f de2fd#d$�Z?G d%d&� d&e�Z@d'e2de)e"e)eA e)eA f fd(d)�ZBd*e)eA d+e)eA d,eAde2fd-d.�ZCd/e2de)eA fd0d1�ZD did2e2d3eEd4e'e2e$eE f d5e'e2e$e@ f d6e)e6 ddfd7d8�ZFd9eEd:eEd4e'e2e$eE f d5e'e2e$e@ f ddf
d;d<�ZGd=e(eAeHeIejJejf de2fd>d?�ZKe�Ld@g dA��ZMe�NdB�ZOdCe2deMfdDdE�ZPe�LdFg dG��ZQe�NdH�ZRdCe2deQfdIdJ�ZSdKe2de+e2ddf fdLdM�ZTdCe2de"e2e'e2e2f f fdNdO�ZUdPe2dQe'e2e2f de2fdRdS�ZVdTe(e2eEf dUe(e2eEf deEfdVdW�ZWdXdY� ZXe�NdZ�ZYd[e2de"e2e)eA f fd\d]�ZZd^e'e2e$e, f de#e"e2e,f fd_d`�Z[e�Nda�Z\e�Ndb�Z]dcj^Z_dKe2de2fddde�Z`dfe2de'e2e2f fdgdh�ZadS )jz�HTTP utility code shared by clients and servers.
This module also defines the `HTTPServerRequest` class which is exposed
via `tornado.web.RequestHandler.request`.
� N)� lru_cache)� responses)�SSLError)� urlencode�urlparse�
urlunparse� parse_qsl)�
native_str�parse_qs_bytes�utf8)�gen_log)�
ObjectDict�unicode_type)�Tuple�Iterable�List�Mapping�Iterator�Dict�Union�Optional� Awaitable� Generator�AnyStr)�Deque)�Futurei� �name�returnc C s d� dd� | �d�D ��S )ziMap a header name to Http-Header-Case.
>>> _normalize_header("coNtent-TYPE")
'Content-Type'
�-c S s g | ]}|� � �qS � )�
capitalize)�.0�wr r �I/home/arjun/projects/env/lib/python3.10/site-packages/tornado/httputil.py�
<listcomp>I s z%_normalize_header.<locals>.<listcomp>)�join�split)r r r r# �_normalize_headerB s r'