Metadata-Version: 2.1
Name: aio-clients
Version: 0.1.0b7
Summary: Python aiohttp client
Home-page: https://github.com/skar404/aio-clients
License: MIT
Author: Denis Malin
Author-email: denis@malina.page
Requires-Python: >=3.6,<4.0
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Requires-Dist: aiohttp (>=3.8.0)
Project-URL: Documentation, https://github.com/skar404/aio-clients
Project-URL: Repository, https://github.com/skar404/aio-clients
Description-Content-Type: text/markdown

# aiohttp client

### What is the difference from aiohttp.Client?

It is simpler and as a Requests

----
# Example: 


## Base reqeust: 

```python
import asyncio
from aio_clients import Http, Options


async def main():
    r = await Http().get('http://google.com', o=Options(is_json=False, is_raw=True, is_close_session=True))
    print(f'code={r.code} body={r.raw_body}')


asyncio.run(main())
```

## Async reqeust

```python
import asyncio

import aiohttp

from aio_clients import Http, Options


async def on_request_start(session, trace_config_ctx, params):
    print("Starting request")


async def on_request_end(session, trace_config_ctx, params):
    print("Ending request")


async def main():
    trace_config = aiohttp.TraceConfig()
    trace_config.on_request_start.append(on_request_start)
    trace_config.on_request_end.append(on_request_end)

    http = Http(
        host='http://google.com/search?q=',
        trace_config=trace_config
    )

    r = await asyncio.gather(
        http.get('test', o=Options(is_json=False, is_raw=True)),
        http.get('hello world', o=Options(is_json=False, is_raw=True)),
        http.get('ping', o=Options(is_json=False, is_raw=True)),
    )

    print(f'status code={[i.code for i in r]}')
    await http.close()


asyncio.run(main())
```

