Skip to content

Commit 340df96

Browse files
committed
Update split pdf hook to use httpx everywhere
1 parent 3b60f65 commit 340df96

File tree

1 file changed

+11
-11
lines changed

1 file changed

+11
-11
lines changed

src/unstructured_client/_hooks/custom/split_pdf_hook.py

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -126,11 +126,10 @@ def sdk_init(
126126
self.client = client
127127
return base_url, client
128128

129-
130129
# pylint: disable=too-many-return-statements
131130
def before_request(
132-
self, hook_ctx: BeforeRequestContext, request: requests.PreparedRequest
133-
) -> Union[requests.PreparedRequest, Exception]:
131+
self, hook_ctx: BeforeRequestContext, request: httpx.Request
132+
) -> Union[httpx.Request, Exception]:
134133
"""If `splitPdfPage` is set to `true` in the request, the PDF file is split into
135134
separate pages. Each page is sent as a separate request in parallel. The last
136135
page request is returned by this method. It will return the original request
@@ -159,7 +158,9 @@ def before_request(
159158
nest_asyncio.apply()
160159
operation_id = hook_ctx.operation_id
161160
content_type = request.headers.get("Content-Type")
162-
body = request.body
161+
162+
request_content = request.read()
163+
body = request_content
163164
if not isinstance(body, bytes) or content_type is None:
164165
return request
165166

@@ -296,9 +297,8 @@ async def call_api_partial(page):
296297
body = request_utils.create_request_body(
297298
form_data, last_page_content, file.file_name, last_page_number
298299
)
299-
last_page_request = request_utils.create_request(request, body)
300-
last_page_prepared_request = self.client.prepare_request(last_page_request)
301-
return last_page_prepared_request
300+
last_page_request = request_utils.create_httpx_request(request, body)
301+
return last_page_request
302302

303303
def _await_elements(
304304
self, operation_id: str, response: requests.Response
@@ -355,8 +355,8 @@ def _await_elements(
355355
return flattened_elements
356356

357357
def after_success(
358-
self, hook_ctx: AfterSuccessContext, response: requests.Response
359-
) -> Union[requests.Response, Exception]:
358+
self, hook_ctx: AfterSuccessContext, response: httpx.Response
359+
) -> Union[httpx.Response, Exception]:
360360
"""Executes after a successful API request. Awaits all parallel requests and
361361
combines the responses into a single response object.
362362
@@ -390,9 +390,9 @@ def after_success(
390390
def after_error(
391391
self,
392392
hook_ctx: AfterErrorContext,
393-
response: Optional[requests.Response],
393+
response: Optional[httpx.Response],
394394
error: Optional[Exception],
395-
) -> Union[Tuple[Optional[requests.Response], Optional[Exception]], Exception]:
395+
) -> Union[Tuple[Optional[httpx.Response], Optional[Exception]], Exception]:
396396
"""Executes after an unsuccessful API request. Awaits all parallel requests,
397397
if at least one request was successful, combines the responses into a single
398398
response object and doesn't throw an error. It will return an error only if

0 commit comments

Comments
 (0)