@@ -91,19 +91,6 @@ def get(self, resource_id: str, select: list[str] | str | None = None) -> Model:
9191
9292 return self ._resource_action (resource_id = resource_id , query_params = {"select" : select })
9393
94- def update (self , resource_id : str , resource_data : ResourceData ) -> Model :
95- """Update a resource using `PUT /endpoint/{resource_id}`.
96-
97- Args:
98- resource_id: Resource ID.
99- resource_data: Resource data.
100-
101- Returns:
102- Resource object.
103-
104- """
105- return self ._resource_action (resource_id , "PUT" , json = resource_data )
106-
10794 def _fetch_page_as_response (self , limit : int = 100 , offset : int = 0 ) -> httpx .Response :
10895 """Fetch one page of resources.
10996
@@ -119,13 +106,14 @@ def _fetch_page_as_response(self, limit: int = 100, offset: int = 0) -> httpx.Re
119106
120107 return response
121108
122- def _resource_do_request (
109+ def _resource_do_request ( # noqa: WPS211
123110 self ,
124111 resource_id : str ,
125112 method : str = "GET" ,
126113 action : str | None = None ,
127114 json : ResourceData | ResourceList | None = None ,
128115 query_params : QueryParam | None = None ,
116+ headers : dict [str , str ] | None = None ,
129117 ) -> httpx .Response :
130118 """Perform an action on a specific resource using `HTTP_METHOD /endpoint/{resource_id}`.
131119
@@ -135,16 +123,19 @@ def _resource_do_request(
135123 action: The action name to use.
136124 json: The updated resource data.
137125 query_params: Additional query parameters.
126+ headers: Additional headers.
138127
139128 Returns:
140129 HTTP response object.
141130
142131 Raises:
143132 HTTPError: If the action fails.
144133 """
145- resource_url = urljoin (f"{ self ._endpoint } /" , resource_id )
134+ resource_url = urljoin (f"{ self .endpoint } /" , resource_id )
146135 url = urljoin (f"{ resource_url } /" , action ) if action else resource_url
147- response = self .http_client .request (method , url , json = json , params = query_params )
136+ response = self .http_client .request (
137+ method , url , json = json , params = query_params , headers = headers
138+ )
148139 response .raise_for_status ()
149140 return response
150141
@@ -166,6 +157,11 @@ def _resource_action(
166157 query_params: Additional query parameters.
167158 """
168159 response = self ._resource_do_request (
169- resource_id , method , action , json = json , query_params = query_params
160+ resource_id ,
161+ method ,
162+ action ,
163+ json = json ,
164+ query_params = query_params ,
165+ headers = {"Accept" : "application/json" },
170166 )
171167 return self ._model_class .from_response (response )
0 commit comments