File: //usr/lib/python3/dist-packages/twisted/web/test/__pycache__/test_webclient.cpython-38.pyc
U
s�@g�� � @ s� d Z ddlmZmZ ddlZddlZddlmZ zddlmZm Z W n$ e
k
rh ddlmZm Z Y nX ddlm
Z
mZmZ ddlmZmZ ddlmZmZmZmZ dd lmZ dd
lmZ ddlmZmZmZm Z ddl!m"Z" dd
l#m$Z$ ddl%m&Z& ddl'm(Z(m)Z)m*Z* zddlm+Z+ W n dZ+Y nX ddl,m-Z- ddl.m/Z/m0Z0m1Z1m2Z2m3Z3 ddl4m5Z5m6Z6 e$e-j7��8d�Z9e9�:� j;Z<G dd� dej=�Z>G dd� dej=�Z?G dd� dej=�Z@G dd� dej=�ZAG dd� dej=�ZBG dd � d ej=�ZCG d!d"� d"ej=�ZDG d#d$� d$ej=�ZEG d%d&� d&ej=�ZFG d'd(� d(ej=�ZGG d)d*� d*ej=�ZHG d+d,� d,e�ZIG d-d.� d.ej=�ZJG d/d0� d0ejK�ZLG d1d2� d2ejK�ZMG d3d4� d4ejK�ZNG d5d6� d6eN�ZOG d7d8� d8ejK�ZPG d9d:� d:ejK�ZQG d;d<� d<ejK�ZRe+dk�s�eSe+d=��seOePfD ]ZTd>eT_U�qe �Ved��s6eOePfD ]ZTd?eT_U�q(G d@dA� dA�ZWG dBdC� dCeWejK�ZXG dDdE� dEeWejK�ZYG dFdG� dGeWejK�ZZG dHdI� dIejK�Z[G dJdK� dKe5ej\�Z]G dLdM� dMe6ej\�Z^G dNdO� dOe5ej\�Z_G dPdQ� dQe6ej\�Z`dRdS� ZaG dTdU� dUe5ej\�ZbG dVdW� dWe6ej\�ZcG dXdY� dYeb�ZdG dZd[� d[ec�ZeG d\d]� d]e5ej\�ZfG d^d_� d_e6ej\�ZgG d`da� dae6ej\�ZhG dbdc� dce5ej\�ZiG ddde� dee6ej\�ZjG dfdg� dge6ej\�ZkdS )hzG
Tests for the old L{twisted.web.client} APIs, C{getPage} and friends.
� )�division�absolute_importN)�ENOSPC)�urlparse�urljoin)�
networkString�nativeString�
intToBytes)�unittest�util)�server�client�error�resource)�Data)�Redirect)�address�reactor�defer�
interfaces)�
ClientFactory)�FilePath)�WrappingFactory)�StringTransport�waitUntilAllDisconnected�EventLoggingObserver)�ssl)�test)�globalLogPublisher�FilteringLogObserver�LogLevelFilterPredicate�LogLevel�Logger)�MethodInjectionTestsMixin�URIInjectionTestsMixinz
server.pemc @ s8 e Zd ZdZdZdZdd� Zdd� Zdd � Zd
d� Z dS )�ExtendedRedirectz�
Redirection resource.
The HTTP status code is set according to the C{code} query parameter.
@type lastMethod: C{bytes}
@ivar lastMethod: Last handled HTTP request method
TNc C s t j�| � || _d S �N)r �Resource�__init__�url)�selfr) � r+ �A/usr/lib/python3/dist-packages/twisted/web/test/test_webclient.pyr( @ s zExtendedRedirect.__init__c C s@ | j r|j| _ dS |j| _ t|jd d �}| �| j||�S d S )Ns OK Thnx!s coder )�
lastMethod�method�int�args�
redirectTor) )r* �request�coder+ r+ r, �renderE s zExtendedRedirect.renderc C s | S r&