| Server IP : 65.1.209.187 / Your IP : 216.73.216.144 Web Server : nginx/1.24.0 System : Linux ip-172-31-5-206 6.14.0-1015-aws #15~24.04.1-Ubuntu SMP Tue Sep 23 22:44:48 UTC 2025 x86_64 User : ( 1001) PHP Version : 8.3.6 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /lib/python3/dist-packages/aiohttp/__pycache__/ |
Upload File : |
�
�wce' � �� � d Z ddlZddlZddlmZmZmZmZmZ ddl m
Z
ddlmZm
Z
dZ G d� d � Z G d
� d� Z e
e� G d� d
e� � Z e
e� G d� de� � Zy)am
Payload implementation for coroutines as data provider.
As a simple case, you can upload data from file::
@aiohttp.streamer
async def file_sender(writer, file_name=None):
with open(file_name, 'rb') as f:
chunk = f.read(2**16)
while chunk:
await writer.write(chunk)
chunk = f.read(2**16)
Then you can use `file_sender` like this:
async with session.post('http://httpbin.org/post',
data=file_sender(file_name='huge_file')) as resp:
print(await resp.text())
..note:: Coroutine must accept `writer` as first argument
� N)�Any� Awaitable�Callable�Dict�Tuple� )�AbstractStreamWriter)�Payload�payload_type)�streamerc �X � e Zd Zdeded f deedf deeef ddfd�Z de
ddfd �Zy)
�_stream_wrapper�coro.N�args�kwargs�returnc �T � t j |� | _ || _ || _ y �N)�types� coroutiner r r )�selfr r r s �:/usr/lib/python3/dist-packages/aiohttp/payload_streamer.py�__init__z_stream_wrapper.__init__$ s"