http client/server for asyncio
Project description
http client/server for asyncio
Requirements
Python >= 3.3
License
aiohttp is offered under the BSD license.
Getting started
To retrieve something from the web:
import aiohttp def get_body(url): response = yield from request('GET', url) return (yield from response.read())
You can use the get command like this anywhere in your asyncio powered program:
response = yield from aiohttp.request('GET', 'http://python.org') body = yield from response.read() print (body)
The signature of request is the following:
request(method, url, *, params=None, data=None, headers=None, cookies=None, files=None, auth=None, allow_redirects=True, max_redirects=10, encoding='utf-8', version=(1, 1), timeout=None, conn_timeout=None, compress=None, chunked=None, expect100=False, session=None, verify_ssl=True, loop=None )
It constructs and sends a request. It returns response object. Parameters are explained as follow:
method: HTTP method
url: Request url
params: (optional) Dictionary or bytes to be sent in the query string of the new request
data: (optional) Dictionary, bytes, or file-like object to send in the body of the request
headers: (optional) Dictionary of HTTP Headers to send with the request
cookies: (optional) Dict object to send with the request
files: (optional) Dictionary of ‘name’: file-like-objects for multipart encoding upload
auth: (optional) Auth tuple to enable Basic HTTP Auth
timeout: (optional) Float describing the timeout of the request
conn_timeout: (optional) Float describing the timeout of the tcp connection
allow_redirects: (optional) Boolean. Set to True if POST/PUT/DELETE redirect following is allowed.
compress: Boolean. Set to True if request has to be compressed with deflate encoding.
chunked: Boolean or Integer. Set to chunk size for chunked transfer encoding.
expect100: Boolean. Expect 100-continue response from server.
session: aiohttp.Session instance to support connection pooling and session cookies.
loop: Optional event loop.
Gunicorn worker
Paster configuration example:
[server:main] use = egg:gunicorn#main host = 0.0.0.0 port = 8080 worker_class = aiohttp.worker.AsyncGunicornWorker
CHANGES
0.6.2 (02-18-2014)
Fix trailing char in allowed_methods.
Start slow request timer for first request.
0.6.1 (02-17-2014)
Added utility method HttpResponse.read_and_close()
Added slow request timeout.
Enable socket SO_KEEPALIVE if available. (@polymorphm)
0.6.0 (02-12-2014)
Better handling for process exit.
0.5.0 (01-29-2014)
Allow to use custom HttpRequest client class.
Use gunicorn keepalive setting for async worker.
Log leaking responses.
python 3.4 compatibility
0.4.4 (11-15-2013)
Resolve only AF_INET family, because it is not clear how to pass extra info to asyncio.
0.4.3 (11-15-2013)
Allow to wait completion of request with HttpResponse.wait_for_close()
0.4.2 (11-14-2013)
Handle exception in client request stream.
Prevent host resolving for each client request.
0.4.1 (11-12-2013)
Added client support for expect: 100-continue header.
0.4 (11-06-2013)
Added custom wsgi application close procedure
Fixed concurrent host failure in HttpClient
0.3 (11-04-2013)
Added PortMapperWorker
Added HttpClient
Added tcp connection timeout to http client
Better client connection errors handling
Gracefully handle process exit
0.2
Fix packaging
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file aiohttp-0.6.1.tar.gz
.
File metadata
- Download URL: aiohttp-0.6.1.tar.gz
- Upload date:
- Size: 58.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | cd63fe739f14559dd98c3387c2876c33d94ba9152d188b633d3a0e9e8823c698 |
|
MD5 | e230bfad088e1800a52be82f0f73740c |
|
BLAKE2b-256 | cb98e646482b9dd4c6cee0bd52b3641b19bb535ca050c55fdaa05be455ae2890 |