Metadata-Version: 2.1
Name: aiohttp-raw
Version: 0.2.0
Summary: HTTP communication through raw sockets using aiohttp for RFC compliance testing
Home-page: https://github.com/realgam3/aiohttp-raw
Author: Tomer Zait (realgam3)
Author-email: realgam3@gmail.com
License: Apache 2.0
Project-URL: Source, https://github.com/realgam3/aiohttp-raw
Platform: any
Classifier: Environment :: Web Environment
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Classifier: Topic :: Internet :: WWW/HTTP
Classifier: Topic :: Software Development :: Libraries
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: aiohttp>=3.12.0
Provides-Extra: socks
Requires-Dist: aiohttp-socks>=0.8.4; extra == "socks"
Provides-Extra: speedups
Provides-Extra: speedups-socks
Requires-Dist: aiohttp-socks>=0.8.4; extra == "speedups-socks"
Requires-Dist: brotlicffi>=1.1.0.0; platform_python_implementation != "CPython" and extra == "speedups-socks"
Requires-Dist: Brotli>=1.1.0; platform_python_implementation == "CPython" and extra == "speedups-socks"
Requires-Dist: aiodns>=1.1; (sys_platform == "linux" or sys_platform == "darwin") and extra == "speedups-socks"
Requires-Dist: brotlicffi>=1.1.0.0; platform_python_implementation != "CPython" and extra == "speedups"
Requires-Dist: Brotli>=1.1.0; platform_python_implementation == "CPython" and extra == "speedups"
Requires-Dist: aiodns>=1.1; (sys_platform == "linux" or sys_platform == "darwin") and extra == "speedups"

# aiohttp-raw
[![PyPI version](https://img.shields.io/pypi/v/aiohttp-raw)](https://pypi.org/project/aiohttp-raw/)
[![Downloads](https://pepy.tech/badge/aiohttp-raw)](https://pepy.tech/project/aiohttp-raw)
![PyPI - Python Version](https://img.shields.io/pypi/pyversions/aiohttp-raw)  

Use [aiohttp](https://docs.aiohttp.org/en/stable/) to send HTTP raw sockets (To Test RFC Compliance)

![Logo](https://raw.githubusercontent.com/realgam3/aiohttp-raw/main/assets/img/aiohttp-raw-logo.png)

## Usage
```python
import asyncio
import aiohttp_raw


async def main():
    req = b"GET /get HTTP/1.1\r\nHost: httpbin.org\r\n\r\n"
    async with aiohttp_raw.ClientSession() as session:
        async with session.raw("http://httpbin.org/get", data=req) as response:
            print(await response.text())

loop = asyncio.new_event_loop()
loop.run_until_complete(main())
```

## Installation
### Prerequisites
* Python 3.8+

```shell
pip3 install aiohttp-raw
```

```shell
# speedups
pip install aiohttp[speedups]
````

```shell
# socks
pip install aiohttp[socks]
```

```shell
# speedups-socks
pip install aiohttp[speedups-socks]
```
