diff --git a/src/ogx_client/_client.py b/src/ogx_client/_client.py index 67638be5..d754e2e7 100644 --- a/src/ogx_client/_client.py +++ b/src/ogx_client/_client.py @@ -3,6 +3,7 @@ from __future__ import annotations import os +import json from typing import TYPE_CHECKING, Any, Mapping from typing_extensions import Self, override @@ -112,6 +113,7 @@ def __init__( # outlining your use-case to help us decide if it should be # part of our public interface in the future. _strict_response_validation: bool = False, + provider_data: Mapping[str, Any] | None = None, ) -> None: """Construct a new synchronous OgxClient client instance. @@ -135,6 +137,12 @@ def __init__( parsed[line[:colon].strip()] = line[colon + 1 :].strip() default_headers = {**parsed, **(default_headers if is_mapping_t(default_headers) else {})} + if provider_data is not None: + default_headers = { + **(default_headers if is_mapping_t(default_headers) else {}), + "X-OGX-Provider-Data": json.dumps(provider_data), + } + super().__init__( version=__version__, base_url=base_url, @@ -436,6 +444,7 @@ def __init__( # outlining your use-case to help us decide if it should be # part of our public interface in the future. _strict_response_validation: bool = False, + provider_data: Mapping[str, Any] | None = None, ) -> None: """Construct a new async AsyncOgxClient client instance. @@ -459,6 +468,12 @@ def __init__( parsed[line[:colon].strip()] = line[colon + 1 :].strip() default_headers = {**parsed, **(default_headers if is_mapping_t(default_headers) else {})} + if provider_data is not None: + default_headers = { + **(default_headers if is_mapping_t(default_headers) else {}), + "X-OGX-Provider-Data": json.dumps(provider_data), + } + super().__init__( version=__version__, base_url=base_url,