Skip to content

Latest commit

 

History

History
204 lines (109 loc) · 4.86 KB

File metadata and controls

204 lines (109 loc) · 4.86 KB
.. currentmodule:: aiohttp

Multipart reference

Wrapper around the :class:`MultipartBodyReader` to take care about underlying connection and close it when it needs in.

.. method:: at_eof()

   Returns ``True`` when all response data had been read.

   :rtype: bool

.. comethod:: next()

   Emits next multipart reader object.

.. comethod:: release()

   Releases the connection gracefully, reading all the content
   to the void.

Multipart reader for single body part.

.. comethod:: read(*, decode=False)

   Reads body part data.

   :param bool decode: Decodes data following by encoding method
                       from ``Content-Encoding`` header. If it
                       missed data remains untouched

   :rtype: bytearray

.. comethod:: read_chunk(size=chunk_size)

   Reads body part content chunk of the specified size.

   :param int size: chunk size

   :rtype: bytearray

.. comethod:: readline()

   Reads body part by line by line.

   :rtype: bytearray

.. comethod:: release()

   Like :meth:`read`, but reads all the data to the void.

   :rtype: None

.. comethod:: text(*, encoding=None)

   Like :meth:`read`, but assumes that body part contains text data.

   :param str encoding: Custom text encoding. Overrides specified
                        in charset param of ``Content-Type`` header

   :rtype: str

.. comethod:: json(*, encoding=None)

   Like :meth:`read`, but assumes that body parts contains JSON data.

   :param str encoding: Custom JSON encoding. Overrides specified
                        in charset param of ``Content-Type`` header

.. comethod:: form(*, encoding=None)

   Like :meth:`read`, but assumes that body parts contains form
   urlencoded data.

   :param str encoding: Custom form encoding. Overrides specified
                        in charset param of ``Content-Type`` header

.. method:: at_eof()

   Returns ``True`` if the boundary was reached or ``False`` otherwise.

   :rtype: bool

.. method:: decode(data)

   Decodes data according the specified ``Content-Encoding``
   or ``Content-Transfer-Encoding`` headers value.

   Supports ``gzip``, ``deflate`` and ``identity`` encodings for
   ``Content-Encoding`` header.

   Supports ``base64``, ``quoted-printable``, ``binary`` encodings for
   ``Content-Transfer-Encoding`` header.

   :param bytearray data: Data to decode.

   :raises: :exc:`RuntimeError` - if encoding is unknown.

   :rtype: bytes

.. method:: get_charset(default=None)

   Returns charset parameter from ``Content-Type`` header or default.

.. attribute:: name

   A field *name* specified in ``Content-Disposition`` header or ``None``
   if missed or header is malformed.

   Readonly :class:`str` property.

.. attribute:: filename

   A field *filename* specified in ``Content-Disposition`` header or ``None``
   if missed or header is malformed.

   Readonly :class:`str` property.

Multipart body reader.

.. classmethod:: from_response(cls, response)

   Constructs reader instance from HTTP response.

   :param response: :class:`~aiohttp.client.ClientResponse` instance

.. method:: at_eof()

   Returns ``True`` if the final boundary was reached or
   ``False`` otherwise.

   :rtype: bool

.. comethod:: next()

   Emits the next multipart body part.

.. comethod:: release()

   Reads all the body parts to the void till the final boundary.

.. comethod:: fetch_next_part()

   Returns the next body part reader.

Multipart body writer.

boundary may be an ASCII-only string.

.. attribute:: boundary

   The string (:class:`str`) representation of the boundary.

   .. versionchanged:: 3.0

      Property type was changed from :class:`bytes` to :class:`str`.

.. method:: append(obj, headers=None)

   Append an object to writer.

.. method:: append_payload(payload)

   Adds a new body part to multipart writer.

.. method:: append_json(obj, headers=None)

   Helper to append JSON part.

.. method:: append_form(obj, headers=None)

   Helper to append form urlencoded part.

.. attribute:: size

   Size of the payload.

.. comethod:: write(writer, close_boundary=True)

   Write body.

   :param bool close_boundary: The (:class:`bool`) that will emit
                               boundary closing. You may want to disable
                               when streaming (``multipart/x-mixed-replace``)

   .. versionadded:: 3.4

      Support ``close_boundary`` argument.