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,13 +65,10 @@ class RESTClientObject(object):
|
|||||||
ssl=ssl_context
|
ssl=ssl_context
|
||||||
)
|
)
|
||||||
|
|
||||||
|
self.proxy = configuration.proxy
|
||||||
|
self.proxy_headers = configuration.proxy_headers
|
||||||
|
|
||||||
# https pool manager
|
# https pool manager
|
||||||
if configuration.proxy:
|
|
||||||
self.pool_manager = aiohttp.ClientSession(
|
|
||||||
connector=connector,
|
|
||||||
proxy=configuration.proxy
|
|
||||||
)
|
|
||||||
else:
|
|
||||||
self.pool_manager = aiohttp.ClientSession(
|
self.pool_manager = aiohttp.ClientSession(
|
||||||
connector=connector
|
connector=connector
|
||||||
)
|
)
|
||||||
@ -122,6 +119,11 @@ class RESTClientObject(object):
|
|||||||
"headers": headers
|
"headers": headers
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if self.proxy:
|
||||||
|
args["proxy"] = self.proxy
|
||||||
|
if self.proxy_headers:
|
||||||
|
args["proxy_headers"] = self.proxy_headers
|
||||||
|
|
||||||
if query_params:
|
if query_params:
|
||||||
args["url"] += '?' + urlencode(query_params)
|
args["url"] += '?' + urlencode(query_params)
|
||||||
|
|
||||||
|
@ -73,13 +73,10 @@ class RESTClientObject(object):
|
|||||||
ssl=ssl_context
|
ssl=ssl_context
|
||||||
)
|
)
|
||||||
|
|
||||||
|
self.proxy = configuration.proxy
|
||||||
|
self.proxy_headers = configuration.proxy_headers
|
||||||
|
|
||||||
# https pool manager
|
# https pool manager
|
||||||
if configuration.proxy:
|
|
||||||
self.pool_manager = aiohttp.ClientSession(
|
|
||||||
connector=connector,
|
|
||||||
proxy=configuration.proxy
|
|
||||||
)
|
|
||||||
else:
|
|
||||||
self.pool_manager = aiohttp.ClientSession(
|
self.pool_manager = aiohttp.ClientSession(
|
||||||
connector=connector
|
connector=connector
|
||||||
)
|
)
|
||||||
@ -130,6 +127,11 @@ class RESTClientObject(object):
|
|||||||
"headers": headers
|
"headers": headers
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if self.proxy:
|
||||||
|
args["proxy"] = self.proxy
|
||||||
|
if self.proxy_headers:
|
||||||
|
args["proxy_headers"] = self.proxy_headers
|
||||||
|
|
||||||
if query_params:
|
if query_params:
|
||||||
args["url"] += '?' + urlencode(query_params)
|
args["url"] += '?' + urlencode(query_params)
|
||||||
|
|
||||||
|
@ -192,6 +192,19 @@ class TestPetApiTests(unittest.TestCase):
|
|||||||
except ApiException as e:
|
except ApiException as e:
|
||||||
self.assertEqual(404, e.status)
|
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__':
|
if __name__ == '__main__':
|
||||||
import logging
|
import logging
|
||||||
|
Loading…
x
Reference in New Issue
Block a user