MCPcopy Create free account
hub / github.com/aio-libs/aiohttp / proxy_test_server

Function proxy_test_server

tests/test_proxy_functional.py:269–312  ·  view source on GitHub ↗
(aiohttp_raw_server, loop, monkeypatch)

Source from the content-addressed store, hash-verified

267
268@pytest.fixture
269def proxy_test_server(aiohttp_raw_server, loop, monkeypatch):
270 # Handle all proxy requests and imitate remote server response.
271
272 _patch_ssl_transport(monkeypatch)
273
274 default_response = dict(status=200, headers=None, body=None)
275
276 proxy_mock = mock.Mock()
277
278 async def proxy_handler(request):
279 proxy_mock.request = request
280 proxy_mock.requests_list.append(request)
281
282 response = default_response.copy()
283 if isinstance(proxy_mock.return_value, dict):
284 response.update(proxy_mock.return_value)
285
286 headers = response["headers"]
287 if not headers:
288 headers = {}
289
290 if request.method == "CONNECT":
291 response["body"] = None
292
293 response["headers"] = headers
294
295 resp = web.Response(**response)
296 await resp.prepare(request)
297 await resp.write_eof()
298 return resp
299
300 async def proxy_server():
301 proxy_mock.request = None
302 proxy_mock.auth = None
303 proxy_mock.requests_list = []
304
305 server = await aiohttp_raw_server(proxy_handler)
306
307 proxy_mock.server = server
308 proxy_mock.url = server.make_url("/")
309
310 return proxy_mock
311
312 return proxy_server
313
314
315@pytest.fixture()

Calls 1

_patch_ssl_transportFunction · 0.85

Tested by

no test coverage detected