"""Methods for owsclient.""" from typing import Any, Mapping, Optional import httpx from abacus_common_logic.constants import constants from owsclient import M2MTokenManager, OwsClient from secrets_manager.lambda_ext import LambdaSecretsManager # type: ignore import config from config import APPLICATION_NAME, ENVIRONMENT secrets_manager = LambdaSecretsManager( environment=ENVIRONMENT, service_name=APPLICATION_NAME, ) m2m_token_manager = M2MTokenManager( secrets_manager=secrets_manager, environment=ENVIRONMENT, service_name=APPLICATION_NAME, ) ows_client = OwsClient( environment=ENVIRONMENT, service_name=APPLICATION_NAME, timeout=constants.DEFAULT_OWS_CLIENT_TIMEOUT, m2m_token_manager=m2m_token_manager if config.ENVIRONMENT != config.DEV_ENVIRONMENT else None, ) def get(service: str, path: str, **options: Any) -> httpx.Response: """GET request to specified ows service.""" return ows_client.get(service, path, **options) def post( service: str, path: str, body: Optional[Mapping[str, Any]] | None, **options: Any ) -> httpx.Response: """POST request to specified ows service.""" return ows_client.post(service, path, json=body, **options) def put( service: str, path: str, body: Optional[Mapping[str, Any]] | None, **options: Any ) -> httpx.Response: """PUT request to specified ows service.""" return ows_client.put(service, path, json=body, **options) def delete(service: str, path: str, **options: Any) -> httpx.Response: """DELETE request to specified ows service.""" return ows_client.delete(service, path, **options)