Skip to content

Commit 763afaf

Browse files
authored
fix: remove custom binary_request handling superseded by codegen (#28)
* fix: remove custom binary_request handling superseded by codegen The codegen now natively supports a `content` parameter for binary request streaming. Remove the custom `binary_request` parameter and content routing that conflicts with this new codegen feature. Move file transformation to the call site in resources/files.py. * style: fix import ordering
1 parent 8cd421b commit 763afaf

File tree

2 files changed

+4
-16
lines changed

2 files changed

+4
-16
lines changed

src/writerai/_base_client.py

Lines changed: 1 addition & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -40,15 +40,14 @@
4040

4141
from . import _exceptions
4242
from ._qs import Querystring
43-
from ._files import to_httpx_files, _transform_file, get_file_content, async_to_httpx_files, _async_transform_file
43+
from ._files import to_httpx_files, async_to_httpx_files
4444
from ._types import (
4545
Body,
4646
Omit,
4747
Query,
4848
Headers,
4949
Timeout,
5050
NotGiven,
51-
FileTypes,
5251
ResponseT,
5352
AnyMapping,
5453
PostParser,
@@ -495,7 +494,6 @@ def _build_request(
495494
params = _merge_mappings(self.default_query, options.params)
496495
content_type = headers.get("Content-Type")
497496
files = options.files
498-
content = options.content
499497

500498
# If the given Content-Type header is multipart/form-data then it
501499
# has to be removed so that httpx can generate the header with
@@ -554,7 +552,6 @@ def _build_request(
554552
# so that passing a `TypedDict` doesn't cause an error.
555553
# https://github.com/microsoft/pyright/issues/3526#event-6715453066
556554
params=self.qs.stringify(cast(Mapping[str, Any], params)) if params else None,
557-
content=content,
558555
**kwargs,
559556
)
560557

@@ -1199,7 +1196,6 @@ def post(
11991196
body: Body | None = None,
12001197
options: RequestOptions = {},
12011198
files: RequestFiles | None = None,
1202-
binary_request: FileTypes | None = None,
12031199
stream: Literal[False] = False,
12041200
) -> ResponseT: ...
12051201

@@ -1212,7 +1208,6 @@ def post(
12121208
body: Body | None = None,
12131209
options: RequestOptions = {},
12141210
files: RequestFiles | None = None,
1215-
binary_request: FileTypes | None = None,
12161211
stream: Literal[True],
12171212
stream_cls: type[_StreamT],
12181213
) -> _StreamT: ...
@@ -1226,7 +1221,6 @@ def post(
12261221
body: Body | None = None,
12271222
options: RequestOptions = {},
12281223
files: RequestFiles | None = None,
1229-
binary_request: FileTypes | None = None,
12301224
stream: bool,
12311225
stream_cls: type[_StreamT] | None = None,
12321226
) -> ResponseT | _StreamT: ...
@@ -1239,7 +1233,6 @@ def post(
12391233
body: Body | None = None,
12401234
options: RequestOptions = {},
12411235
files: RequestFiles | None = None,
1242-
binary_request: FileTypes | None = None,
12431236
stream: bool = False,
12441237
stream_cls: type[_StreamT] | None = None,
12451238
) -> ResponseT | _StreamT:
@@ -1248,7 +1241,6 @@ def post(
12481241
url=path,
12491242
json_data=body,
12501243
files=to_httpx_files(files),
1251-
content=get_file_content(_transform_file(binary_request)) if binary_request else None,
12521244
**options,
12531245
)
12541246
return cast(ResponseT, self.request(cast_to, opts, stream=stream, stream_cls=stream_cls))
@@ -1730,7 +1722,6 @@ async def post(
17301722
cast_to: Type[ResponseT],
17311723
body: Body | None = None,
17321724
files: RequestFiles | None = None,
1733-
binary_request: FileTypes | None = None,
17341725
options: RequestOptions = {},
17351726
stream: Literal[False] = False,
17361727
) -> ResponseT: ...
@@ -1743,7 +1734,6 @@ async def post(
17431734
cast_to: Type[ResponseT],
17441735
body: Body | None = None,
17451736
files: RequestFiles | None = None,
1746-
binary_request: FileTypes | None = None,
17471737
options: RequestOptions = {},
17481738
stream: Literal[True],
17491739
stream_cls: type[_AsyncStreamT],
@@ -1757,7 +1747,6 @@ async def post(
17571747
cast_to: Type[ResponseT],
17581748
body: Body | None = None,
17591749
files: RequestFiles | None = None,
1760-
binary_request: FileTypes | None = None,
17611750
options: RequestOptions = {},
17621751
stream: bool,
17631752
stream_cls: type[_AsyncStreamT] | None = None,
@@ -1770,7 +1759,6 @@ async def post(
17701759
cast_to: Type[ResponseT],
17711760
body: Body | None = None,
17721761
files: RequestFiles | None = None,
1773-
binary_request: FileTypes | None = None,
17741762
options: RequestOptions = {},
17751763
stream: bool = False,
17761764
stream_cls: type[_AsyncStreamT] | None = None,
@@ -1780,7 +1768,6 @@ async def post(
17801768
url=path,
17811769
json_data=body,
17821770
files=await async_to_httpx_files(files),
1783-
content=get_file_content(await _async_transform_file(binary_request)) if binary_request else None,
17841771
**options,
17851772
)
17861773
return await self.request(cast_to, opts, stream=stream, stream_cls=stream_cls)

src/writerai/resources/files.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import httpx
88

99
from ..types import file_list_params, file_retry_params, file_upload_params
10+
from .._files import _transform_file, get_file_content, _async_transform_file
1011
from .._types import Body, Omit, Query, Headers, NotGiven, FileTypes, SequenceNotStr, omit, not_given
1112
from .._utils import maybe_transform, async_maybe_transform
1213
from .._compat import cached_property
@@ -310,14 +311,14 @@ def upload(
310311
}
311312
return self._post(
312313
"/v1/files",
314+
body=get_file_content(_transform_file(content)),
313315
options=make_request_options(
314316
extra_headers=extra_headers,
315317
extra_query=extra_query,
316318
extra_body=extra_body,
317319
timeout=timeout,
318320
query=maybe_transform({"graph_id": graph_id}, file_upload_params.FileUploadParams),
319321
),
320-
binary_request=content,
321322
cast_to=File,
322323
)
323324

@@ -598,14 +599,14 @@ async def upload(
598599
}
599600
return await self._post(
600601
"/v1/files",
602+
body=get_file_content(await _async_transform_file(content)),
601603
options=make_request_options(
602604
extra_headers=extra_headers,
603605
extra_query=extra_query,
604606
extra_body=extra_body,
605607
timeout=timeout,
606608
query=await async_maybe_transform({"graph_id": graph_id}, file_upload_params.FileUploadParams),
607609
),
608-
binary_request=content,
609610
cast_to=File,
610611
)
611612

0 commit comments

Comments
 (0)