Features – Business Capabilities This section groups the library’s features by domain, describing what each capability provides from a business perspective. ## HTTP Request & Response ** [Core] ** Core API for sending HTTP requests and processing responses, including serialization of parameters, files, and JSON data. - HTTP Request API – Central request() function and convenience methods for GET, POST, PUT, DELETE, etc.
Response Object – Rich Response class with content access, encoding detection, and JSON decoding.
File Uploads & Multipart – Multipart form-data encoding for file and data fields. ## Session & Connection Management ** [Core] ** Persistent sessions that maintain cookies, headers, and connection pools across multiple requests. - Session Management – Session class with cookie persistence, connection pooling, and adapter mounting.
Transport Adapters – Pluggable adapters for HTTP/HTTPS, SOCKS proxying, and custom transport.
Connection Pooling & Retries – Configuration of pool sizes, retry policies, and proxy handling. ## Authentication & Security Built-in and extensible authentication mechanisms and SSL/TLS verification. - Basic & Digest Authentication – HTTPBasicAuth and HTTPDigestAuth with automatic header generation.
Exception Hierarchy – Granular exception classes for connection errors, timeouts, SSL errors, etc. ## Extensibility & Testing Hooks, custom auth, and a built-in test server for integration testing. - Hook System – Event-driven callbacks for request/response lifecycle.
Test Server – A lightweight, threaded HTTP/HTTPS server for end-to-end testing.
Utilities & Compatibility – Helper functions for URL manipulation, proxy resolution, and Python 2/3 compatibility. [Core] indicates the 2-3 most central capabilities to the library’s purpose.