fix: use httpx in generated configuration.py (#22418)

* fix: use httpx in generated configuration.py

* fix: add enum_values for httpx

* chore: update petstore samples
This commit is contained in:
Josh Wulf
2025-11-23 20:11:48 +13:00
committed by GitHub
parent c5e0d0840b
commit ddfcc95b61
7 changed files with 48 additions and 17 deletions

View File

@@ -3,6 +3,9 @@
{{>partial_header}}
{{#async}}
import base64
{{/async}}
import copy
import http.client as httplib
import logging
@@ -14,7 +17,9 @@ import sys
from typing import Any, ClassVar, Dict, List, Literal, Optional, TypedDict, Union
from typing_extensions import NotRequired, Self
{{^async}}
import urllib3
{{/async}}
{{#hasHttpSignatureMethods}}
from {{packageName}}.signing import HttpSigningConfiguration
@@ -353,7 +358,9 @@ conf = {{{packageName}}}.Configuration(
"""Logging Settings
"""
self.logger["package_logger"] = logging.getLogger("{{packageName}}")
{{^async}}
self.logger["urllib3_logger"] = logging.getLogger("urllib3")
{{/async}}
self.logger_format = '%(asctime)s %(levelname)s %(message)s'
"""Log format
"""
@@ -615,9 +622,17 @@ conf = {{{packageName}}}.Configuration(
password = ""
if self.password is not None:
password = self.password
{{#async}}
return "Basic " + base64.b64encode(
(username + ":" + password).encode('utf-8')
).decode('utf-8')
{{/async}}
{{^async}}
return urllib3.util.make_headers(
basic_auth=username + ':' + password
).get('authorization')
{{/async}}
def auth_settings(self)-> AuthSettings:
"""Gets Auth Settings dict for api client.
@@ -720,6 +735,11 @@ conf = {{{packageName}}}.Configuration(
]
{{/-last}}
{{/enumValues}}
{{^enumValues}}
{{#async}}
'enum_values': []
{{/async}}
{{/enumValues}}
}{{^-last}},{{/-last}}
{{#-last}}
}
@@ -762,6 +782,7 @@ conf = {{{packageName}}}.Configuration(
variable_name, variable['default_value'])
if 'enum_values' in variable \
and variable['enum_values'] \
and used_value not in variable['enum_values']:
raise ValueError(
"The variable `{0}` in the host URL has invalid value "

View File

@@ -504,6 +504,7 @@ conf = openapi_client.Configuration(
password = ""
if self.password is not None:
password = self.password
return urllib3.util.make_headers(
basic_auth=username + ':' + password
).get('authorization')
@@ -587,6 +588,7 @@ conf = openapi_client.Configuration(
variable_name, variable['default_value'])
if 'enum_values' in variable \
and variable['enum_values'] \
and used_value not in variable['enum_values']:
raise ValueError(
"The variable `{0}` in the host URL has invalid value "

View File

@@ -504,6 +504,7 @@ conf = openapi_client.Configuration(
password = ""
if self.password is not None:
password = self.password
return urllib3.util.make_headers(
basic_auth=username + ':' + password
).get('authorization')
@@ -587,6 +588,7 @@ conf = openapi_client.Configuration(
variable_name, variable['default_value'])
if 'enum_values' in variable \
and variable['enum_values'] \
and used_value not in variable['enum_values']:
raise ValueError(
"The variable `{0}` in the host URL has invalid value "

View File

@@ -12,6 +12,7 @@
""" # noqa: E501
import base64
import copy
import http.client as httplib
import logging
@@ -20,7 +21,6 @@ import sys
from typing import Any, ClassVar, Dict, List, Literal, Optional, TypedDict, Union
from typing_extensions import NotRequired, Self
import urllib3
from petstore_api.signing import HttpSigningConfiguration
@@ -325,7 +325,6 @@ conf = petstore_api.Configuration(
"""Logging Settings
"""
self.logger["package_logger"] = logging.getLogger("petstore_api")
self.logger["urllib3_logger"] = logging.getLogger("urllib3")
self.logger_format = '%(asctime)s %(levelname)s %(message)s'
"""Log format
"""
@@ -574,9 +573,10 @@ conf = petstore_api.Configuration(
password = ""
if self.password is not None:
password = self.password
return urllib3.util.make_headers(
basic_auth=username + ':' + password
).get('authorization')
return "Basic " + base64.b64encode(
(username + ":" + password).encode('utf-8')
).decode('utf-8')
def auth_settings(self)-> AuthSettings:
"""Gets Auth Settings dict for api client.
@@ -727,6 +727,7 @@ conf = petstore_api.Configuration(
variable_name, variable['default_value'])
if 'enum_values' in variable \
and variable['enum_values'] \
and used_value not in variable['enum_values']:
raise ValueError(
"The variable `{0}` in the host URL has invalid value "

View File

@@ -12,6 +12,7 @@
""" # noqa: E501
import base64
import copy
import http.client as httplib
import logging
@@ -20,7 +21,6 @@ import sys
from typing import Any, ClassVar, Dict, List, Literal, Optional, TypedDict, Union
from typing_extensions import NotRequired, Self
import urllib3
from petstore_api.signing import HttpSigningConfiguration
@@ -325,7 +325,6 @@ conf = petstore_api.Configuration(
"""Logging Settings
"""
self.logger["package_logger"] = logging.getLogger("petstore_api")
self.logger["urllib3_logger"] = logging.getLogger("urllib3")
self.logger_format = '%(asctime)s %(levelname)s %(message)s'
"""Log format
"""
@@ -574,9 +573,10 @@ conf = petstore_api.Configuration(
password = ""
if self.password is not None:
password = self.password
return urllib3.util.make_headers(
basic_auth=username + ':' + password
).get('authorization')
return "Basic " + base64.b64encode(
(username + ":" + password).encode('utf-8')
).decode('utf-8')
def auth_settings(self)-> AuthSettings:
"""Gets Auth Settings dict for api client.
@@ -727,6 +727,7 @@ conf = petstore_api.Configuration(
variable_name, variable['default_value'])
if 'enum_values' in variable \
and variable['enum_values'] \
and used_value not in variable['enum_values']:
raise ValueError(
"The variable `{0}` in the host URL has invalid value "

View File

@@ -578,6 +578,7 @@ conf = petstore_api.Configuration(
password = ""
if self.password is not None:
password = self.password
return urllib3.util.make_headers(
basic_auth=username + ':' + password
).get('authorization')
@@ -731,6 +732,7 @@ conf = petstore_api.Configuration(
variable_name, variable['default_value'])
if 'enum_values' in variable \
and variable['enum_values'] \
and used_value not in variable['enum_values']:
raise ValueError(
"The variable `{0}` in the host URL has invalid value "

View File

@@ -578,6 +578,7 @@ conf = petstore_api.Configuration(
password = ""
if self.password is not None:
password = self.password
return urllib3.util.make_headers(
basic_auth=username + ':' + password
).get('authorization')
@@ -731,6 +732,7 @@ conf = petstore_api.Configuration(
variable_name, variable['default_value'])
if 'enum_values' in variable \
and variable['enum_values'] \
and used_value not in variable['enum_values']:
raise ValueError(
"The variable `{0}` in the host URL has invalid value "