forked from loafle/openapi-generator-original
[python/asyncio] fix passing proxy parameters to aiohttp (#5943)
This commit is contained in:
parent
91cfabdad2
commit
7a0242311f
@ -65,16 +65,13 @@ class RESTClientObject(object):
|
||||
ssl=ssl_context
|
||||
)
|
||||
|
||||
self.proxy = configuration.proxy
|
||||
self.proxy_headers = configuration.proxy_headers
|
||||
|
||||
# https pool manager
|
||||
if configuration.proxy:
|
||||
self.pool_manager = aiohttp.ClientSession(
|
||||
connector=connector,
|
||||
proxy=configuration.proxy
|
||||
)
|
||||
else:
|
||||
self.pool_manager = aiohttp.ClientSession(
|
||||
connector=connector
|
||||
)
|
||||
self.pool_manager = aiohttp.ClientSession(
|
||||
connector=connector
|
||||
)
|
||||
|
||||
async def close(self):
|
||||
await self.pool_manager.close()
|
||||
@ -122,6 +119,11 @@ class RESTClientObject(object):
|
||||
"headers": headers
|
||||
}
|
||||
|
||||
if self.proxy:
|
||||
args["proxy"] = self.proxy
|
||||
if self.proxy_headers:
|
||||
args["proxy_headers"] = self.proxy_headers
|
||||
|
||||
if query_params:
|
||||
args["url"] += '?' + urlencode(query_params)
|
||||
|
||||
|
@ -73,16 +73,13 @@ class RESTClientObject(object):
|
||||
ssl=ssl_context
|
||||
)
|
||||
|
||||
self.proxy = configuration.proxy
|
||||
self.proxy_headers = configuration.proxy_headers
|
||||
|
||||
# https pool manager
|
||||
if configuration.proxy:
|
||||
self.pool_manager = aiohttp.ClientSession(
|
||||
connector=connector,
|
||||
proxy=configuration.proxy
|
||||
)
|
||||
else:
|
||||
self.pool_manager = aiohttp.ClientSession(
|
||||
connector=connector
|
||||
)
|
||||
self.pool_manager = aiohttp.ClientSession(
|
||||
connector=connector
|
||||
)
|
||||
|
||||
async def close(self):
|
||||
await self.pool_manager.close()
|
||||
@ -130,6 +127,11 @@ class RESTClientObject(object):
|
||||
"headers": headers
|
||||
}
|
||||
|
||||
if self.proxy:
|
||||
args["proxy"] = self.proxy
|
||||
if self.proxy_headers:
|
||||
args["proxy_headers"] = self.proxy_headers
|
||||
|
||||
if query_params:
|
||||
args["url"] += '?' + urlencode(query_params)
|
||||
|
||||
|
@ -192,6 +192,19 @@ class TestPetApiTests(unittest.TestCase):
|
||||
except ApiException as e:
|
||||
self.assertEqual(404, e.status)
|
||||
|
||||
@async_test
|
||||
async def test_proxy(self):
|
||||
config = Configuration()
|
||||
# set not-existent proxy and catch an error to verify that
|
||||
# the client library (aiohttp) tried to use it.
|
||||
config.proxy = 'http://localhost:8080/proxy'
|
||||
async with petstore_api.ApiClient(config) as client:
|
||||
pet_api = petstore_api.PetApi(client)
|
||||
|
||||
with self.assertRaisesRegex(petstore_api.rest.aiohttp.client_exceptions.ClientProxyConnectionError,
|
||||
'Cannot connect to host localhost:8080'):
|
||||
await pet_api.get_pet_by_id(self.pet.id)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
import logging
|
||||
|
Loading…
x
Reference in New Issue
Block a user