Skip to main content

Chunked transfer request encoding for lowhaio

Project description

lowhaio-chunked CircleCI

Chunked transfer request encoding for lowhaio. This is only needed if content-length is unknown before the body starts to transfer.

Installation

pip install lowhaio lowhaio_chunked

or just copy and paste the below 8 lines of code into your project, ensuring to also follow the requirements in the LICENSE file.

def chunked(body):
    async def _chunked(*args, **kwargs):
        async for chunk in body(*args, **kwargs):
            yield hex(len(chunk))[2:].encode() + b'\r\n'
            yield chunk
            yield b'\r\n'
        yield b'0\r\n\r\n'
    return _chunked

Usage

Usage is very similar to standard lowhaio, except that the body data should be wrapped with the chunked function; the transfer-encoding: chunked header is required; and the content-length header should not be specified.

So instead of a request like

from lowhaio import Pool

request, _ = Pool()

body = ...

code, headers, body = await request(
    b'POST', 'https://example.com/path', body=body,
    headers=((b'content-length', b'1234'),),
)

you can write

from lowhaio import Pool
from lowhaio_chunked import chunked  # Or paste in the code above

request, _ = Pool()

body = ...

code, headers, body = await request(
    b'POST', 'https://example.com/path', body=chunked(body),
    headers=((b'transfer-encoding': b'chunked'),),
)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

lowhaio_chunked-0.0.5.tar.gz (1.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

lowhaio_chunked-0.0.5-py3-none-any.whl (3.0 kB view details)

Uploaded Python 3

File details

Details for the file lowhaio_chunked-0.0.5.tar.gz.

File metadata

  • Download URL: lowhaio_chunked-0.0.5.tar.gz
  • Upload date:
  • Size: 1.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.22.0 setuptools/40.4.3 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.7.1

File hashes

Hashes for lowhaio_chunked-0.0.5.tar.gz
Algorithm Hash digest
SHA256 eee28e1dabd2babd17ba5170d090fc85a5aece6d9ee9e73a0323f80327543f30
MD5 53e04ca5f2256c752bcfb1a8dc244b09
BLAKE2b-256 efe2c2d2ffd33e90ae762c8cd8c6041ac7cad4a64ae0d06580419a047c3c419a

See more details on using hashes here.

File details

Details for the file lowhaio_chunked-0.0.5-py3-none-any.whl.

File metadata

  • Download URL: lowhaio_chunked-0.0.5-py3-none-any.whl
  • Upload date:
  • Size: 3.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.22.0 setuptools/40.4.3 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.7.1

File hashes

Hashes for lowhaio_chunked-0.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 b3f0f7e90b734227d2d9c372e9b510829ae6879704e34f09b8c6eccc6597d61d
MD5 d0d872cb85789412baa5d2e05ba237c4
BLAKE2b-256 ba08948be700acec606e21c05bce2809b195611ec44f922262ef8c07cb16a135

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page