11"""Implementation of output requests client."""
22
33import logging
4- from typing import Dict , Optional
54import os
6- import json
75import uuid
6+ from typing import Dict , Optional
7+
88import requests
9+ from sap_cloud_sdk .destination import Destination
910
1011from .output_requests_client import OutputRequestsClient
12+ from ..constants import Constants
1113from ..models .output_request import OutputRequest
1214from ..models .output_response import (
1315 OutputResponse ,
1416)
15- from ..constants import Constants
1617from ..utils .request_validator import RequestValidator
1718
1819logger = logging .getLogger (__name__ )
@@ -30,8 +31,8 @@ def __init__(
3031 self ,
3132 http_session : requests .Session ,
3233 base_url : str ,
33- destination : any = None ,
34- destination_instance : str = None ,
34+ destination : Optional [ Destination ] = None ,
35+ destination_instance : Optional [ str ] = None ,
3536 ):
3637 """
3738 Constructs a new OutputRequestsClientImpl.
@@ -88,9 +89,8 @@ def send_output_request(self, output_request: OutputRequest) -> OutputResponse:
8889
8990 try :
9091 request_body = output_request .model_dump (by_alias = True , exclude_none = True )
91- logger .info (f"Request body: { request_body } " )
9292
93- response = self ._execute_request ('POST' , endpoint , json = request_body , headers = headers )
93+ response = self ._http_session . request ('POST' , endpoint , json = request_body , headers = headers )
9494 status_code = response .status_code
9595
9696 logger .debug (f"Response status: { status_code } " )
@@ -327,20 +327,6 @@ def _fetch_oauth_token_from_destination(self) -> Optional[str]:
327327
328328 return None
329329
330- def _execute_request (self , method : str , endpoint : str , ** kwargs ):
331- """Execute HTTP request using destination if available, otherwise use session.
332-
333- Args:
334- method: HTTP method (GET, POST, etc.)
335- endpoint: Full endpoint URL
336- **kwargs: Additional arguments to pass to the request
337-
338- Returns:
339- Response object
340- """
341- # Always use regular session - authentication is handled in _get_headers
342- return self ._http_session .request (method , endpoint , ** kwargs )
343-
344330 def _get_headers (self ) -> Dict [str , str ]:
345331 """Get request headers with authentication."""
346332 headers = {}
0 commit comments