Summary
Extend HttpPlugin to intercept aiohttp.ClientSession requests in addition to the existing httpx, requests, and urllib transports.
Motivation
aiohttp is one of the most popular async HTTP clients in the Python ecosystem. The README currently notes that aiohttp is not supported. Adding it closes the last major gap in HTTP client coverage.
Proposed Design
- Add aiohttp transport interception alongside existing httpx/requests/urllib
- Same interaction recording format (method, url, request_headers, request_body, status, response_headers, response_body)
- Same
assert_request() / assert_response() chaining pattern
- Optional dependency:
bigfoot[aiohttp] extra
- Could be implemented as an enhancement to existing
HttpPlugin rather than a separate plugin
Acceptance Criteria
Summary
Extend
HttpPluginto interceptaiohttp.ClientSessionrequests in addition to the existinghttpx,requests, andurllibtransports.Motivation
aiohttpis one of the most popular async HTTP clients in the Python ecosystem. The README currently notes that aiohttp is not supported. Adding it closes the last major gap in HTTP client coverage.Proposed Design
assert_request()/assert_response()chaining patternbigfoot[aiohttp]extraHttpPluginrather than a separate pluginAcceptance Criteria
aiohttp.ClientSession.request(and shorthand methods) interceptedbigfoot[aiohttp]optional extra