← Back
Editing: http_channel.cpython-312.pyc
� 2�i� � � � d dl Zd dlZd dlZd dlZddlmZmZ ddlm Z m Z mZmZm Z mZ ej e� Z G d� de� Zy)� N� )�AsyncChannel�ChannelError)� JsonObject�get_dict�get_int� get_object�get_str�typecheckedc �h � e Zd ZdZedej j dede fd�� Z ede dej j fd�� Zedej j d d ddfd�� Z edej j d ededddedej j fd�� Zde ddfd�Zy)�HttpChannelzhttp-stream2�response�binary�returnc � � ddh}|s|j ddh� | j � D ��ci c] \ }}||vs�||�� c}}S c c}}w )N� ConnectionzTransfer-EncodingzContent-Length�Range)�update� getheaders)r r �remove�key�values �B/usr/lib/python3.12/site-packages/cockpit/channels/http_channel.py�get_headerszHttpChannel.get_headers sW � � � 3�4����M�M�+�W�5�6�-5�-@�-@�-B�X�-B�z�s�E�c�QW�FW��U� �-B�X�X��Xs �A�A�optionsc � � t | dd� }t | dd � }t | dd � }t | dd � }|�|� t dd�� �|�|� t dd �� �|�|� t dd �� �|��t |dd � }|�Gt |dd � }|�t j |� � }n5t j t |d� �� }nt j � }d|v r+|d s&d|_ t j j |_ t j j |||�� S t j j ||�� S )N�address� localhost�tls�unix�port�protocol-errorz#TLS on Unix socket is not supported��messagez&no "port" or "unix" option for channelz-cannot specify both "port" and "unix" options� authority�data)�cadata�file)�cafile�validateF)r! �context)r! )r r r r �ssl�create_default_context�check_hostname� VerifyMode� CERT_NONE�verify_mode�http�client�HTTPSConnection�HTTPConnection)r �opt_address�opt_tls�opt_unix�opt_portr% r&