Skip to content

Commit

Permalink
[EG] dont hardcode api_version on request (Azure#34965)
Browse files Browse the repository at this point in the history
* dont hardcode api_version on request

* pylint fixes

* revert

* api version

* Update sdk/eventgrid/azure-eventgrid/azure/eventgrid/aio/_publisher_client_async.py

* Update sdk/eventgrid/azure-eventgrid/azure/eventgrid/aio/_publisher_client_async.py
  • Loading branch information
l0lawrence committed Mar 27, 2024
1 parent 23ab915 commit 2ed3b39
Show file tree
Hide file tree
Showing 3 changed files with 26 additions and 10 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -172,7 +172,7 @@ def _from_cncf_events(event): # pylint: disable=inconsistent-return-statements
raise ValueError(msg) from err


def _build_request(endpoint, content_type, events, *, channel_name=None):
def _build_request(endpoint, content_type, events, *, channel_name=None, api_version=constants.DEFAULT_API_VERSION):
serialize = Serializer()
header_parameters: Dict[str, Any] = {}
header_parameters['Content-Type'] = serialize.header("content_type", content_type, 'str')
Expand All @@ -181,7 +181,7 @@ def _build_request(endpoint, content_type, events, *, channel_name=None):
header_parameters["aeg-channel-name"] = channel_name

query_parameters: Dict[str, Any] = {}
query_parameters['api-version'] = serialize.query("api_version", "2018-01-01", 'str')
query_parameters['api-version'] = serialize.query("api_version", api_version, 'str')

body = serialize.body(events, "[object]")
if body is None:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@
EventGridPublisherClient as EventGridPublisherClientImpl,
)
from ._policies import CloudEventDistributedTracingPolicy
from ._constants import DEFAULT_API_VERSION
from ._version import VERSION

if TYPE_CHECKING:
Expand Down Expand Up @@ -81,6 +82,9 @@ class EventGridPublisherClient(
implements SAS key authentication or SAS token authentication or a TokenCredential.
:type credential: ~azure.core.credentials.AzureKeyCredential or ~azure.core.credentials.AzureSasCredential or
~azure.core.credentials.TokenCredential
:keyword api_version: Api Version. Will default to the most recent Api Version. Note that overriding this
default value may result in unsupported behavior.
:paramtype api_version: str
:rtype: None
.. admonition:: Example:
Expand All @@ -100,12 +104,19 @@ class EventGridPublisherClient(
:caption: Creating the EventGridPublisherClient with an endpoint and AzureSasCredential.
"""

def __init__(self, endpoint, credential, **kwargs):
# type: (str, Union[AzureKeyCredential, AzureSasCredential, TokenCredential], Any) -> None
def __init__(
self,
endpoint: str,
credential: Union["AzureKeyCredential", "AzureSasCredential", "TokenCredential"],
*,
api_version: Optional[str] = None,
**kwargs: Any
) -> None:
self._endpoint = endpoint
self._client = EventGridPublisherClientImpl(
policies=EventGridPublisherClient._policies(credential, **kwargs), **kwargs
)
self._api_version = api_version if api_version is not None else DEFAULT_API_VERSION

@staticmethod
def _policies(credential, **kwargs):
Expand Down Expand Up @@ -217,9 +228,8 @@ def send(
_eventgrid_data_typecheck(event)
response = self._client.send_request( # pylint: disable=protected-access
_build_request(
self._endpoint, content_type, events, channel_name=channel_name
),
**kwargs
self._endpoint,content_type, events, channel_name=channel_name, api_version=self._api_version),
**kwargs
)
error_map = {
401: ClientAuthenticationError,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@
_get_authentication_policy,
_from_cncf_events,
)
from .._constants import DEFAULT_API_VERSION
from .._generated.aio import EventGridPublisherClient as EventGridPublisherClientAsync
from .._version import VERSION

Expand Down Expand Up @@ -73,6 +74,9 @@ class EventGridPublisherClient: # pylint: disable=client-accepts-api-version-ke
SAS key authentication or SAS token authentication or an AsyncTokenCredential.
:type credential: ~azure.core.credentials.AzureKeyCredential or ~azure.core.credentials.AzureSasCredential or
~azure.core.credentials_async.AsyncTokenCredential
:keyword api_version: Api Version. Will default to the most recent Api Version. Note that overriding this
default value may result in unsupported behavior.
:paramtype api_version: str
:rtype: None
.. admonition:: Example:
Expand All @@ -98,12 +102,15 @@ def __init__(
credential: Union[
"AsyncTokenCredential", AzureKeyCredential, AzureSasCredential
],
*,
api_version: Optional[str] = None,
**kwargs: Any
) -> None:
self._client = EventGridPublisherClientAsync(
policies=EventGridPublisherClient._policies(credential, **kwargs), **kwargs
)
self._endpoint = endpoint
self._api_version = api_version if api_version is not None else DEFAULT_API_VERSION

@staticmethod
def _policies(
Expand Down Expand Up @@ -220,9 +227,8 @@ async def send(
for event in events:
_eventgrid_data_typecheck(event)
response = await self._client.send_request( # pylint: disable=protected-access
_build_request(
self._endpoint, content_type, events, channel_name=channel_name
),
_build_request(self._endpoint, content_type, events,
channel_name=channel_name, api_version=self._api_version),
**kwargs
)
error_map = {
Expand Down

0 comments on commit 2ed3b39

Please sign in to comment.