관리-도구
편집 파일: payload_streamer.cpython-311.pyc
� �܋f' � � � 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� � � � ZdS )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 �r � e Zd Zdeded f deedf deeef ddfd�Z de ddfd �ZdS ) �_stream_wrapper�coro.N�args�kwargs�returnc �T � t j |� � | _ || _ || _ d S �N)�types� coroutiner r r )�selfr r r s �O/opt/cloudlinux/venv/lib64/python3.11/site-packages/aiohttp/payload_streamer.py�__init__z_stream_wrapper.__init__$ s'