An open API service indexing awesome lists of open source software.

https://github.com/nhoad/python-icap

ICAP library implemented in Python.
https://github.com/nhoad/python-icap

Last synced: about 1 year ago
JSON representation

ICAP library implemented in Python.

Awesome Lists containing this project

README

          

Python ICAP server implemented using asyncio. Contains classes for parsing and
handling ICAP requests, and higher-level objects for routing requests and
performing asynchronous operations.

Still very much in the early stages right now, although usable. API can be
considered reasonably stable.

TODO:
- generated session IDs when X-Session-ID is not available.
- Preview support
- opt-body support
- Cache-Control (prevent RESPMODs from lengthening expiration)
- remove all hop-by-hop headers
- ensure required authorization headers are preserved
- Allow 206 support (see Squid option)
- Automated parsing of multipart data (similar to POST parsing)
- Lots more logging.
- Streaming body support. ICAP supports the idea of early returns, so
theoretically this is possible. It would be great to do this with
coroutines.
- Allow for particularly horrible yet perfectly valid HTTP.
- SSL
- Replace assertions with proper exceptions.
- some operations need to run in threads/processes to prevent blocking the
proactor (e.g. gzip encoding/decoding). Providing a nice wrapper
interface on asyncio's process/thread deferral code would be good.