File: //usr/lib/python3/dist-packages/uaclient/http/__pycache__/__init__.cpython-310.pyc
o
nHJe- � @ s d dl Z d dlZd dlZd dlZd dlZd dlmZmZmZm Z m
Z
d dlmZm
Z
d dlmZmZ d dlmZmZmZ dZdZdZd Zd
Ze�e�e��Ze ddefd
eeef fdefg�Z e ddefd
eeef fdefdeeef fdee fg�Z!dede"fdd�Z#dede
e dede
e fdd�Z$i a%de
e de
e ddfdd�Z&deeef fdd �Z' d3d!e
j(d"e
e de fd#d$�Z)d%d&� Z*d'd(� Z+ d4d!e
j(d"e
e de
e de fd)d*�Z,de
e fd+d,�Z-di ddd-fded.e
e. d
eeef d/e
e d"e
e d0e"de!fd1d2�Z/dS )5� N)�Any�Dict�List�
NamedTuple�Optional)�error�request)�ParseResult�urlparse)�defaults�
exceptions�util)z169.254.169.254�metadataz[fd00:ec2::254]zhttp://archive.ubuntu.comzhttps://esm.ubuntu.comzhttp://api.snapcraft.iozhttps://api.snapcraft.io�UnparsedHTTPResponse�code�headers�body�HTTPResponse� json_dict� json_list�url�returnc C sR zt | �}W n
ty Y dS w |jdvrdS z|j W dS ty( Y dS w )NF)�https�httpT)r
�
ValueError�scheme�port)r �
parsed_url� r �8/usr/lib/python3/dist-packages/uaclient/http/__init__.py�is_service_url( s �
��r �protocol�proxy�test_urlc
C sF |sd S t |�stj|d��tj|dd�}| dkrjt|�jdkrjzt||d�}W n4 tjy1 � tj y9 � tj
yA � ty\ } zt�
d||t|�� tj|d��d }~ww |jdkrd|S tj|d��t�| |i�}t�|�}z|�|� |W S tjt
jfy� } zt�
d||t|d t|��� tj|d��d }~ww )
N)r"