feat(content): allow multipart requests without files.#3397
feat(content): allow multipart requests without files.#3397laipz8200 wants to merge 13 commits intoencode:masterfrom
Conversation
|
Thanks. I've updated the tests to avoid private imports. Do we think this is an improved behaviour? It does seem nice that an explicit |
|
Thanks for the update! My original plan was to make it easier to use multipart without having to carry files, which wasn’t as straightforward before. I don’t use the cli much, so if this causes any issues, just let me know. |
| content=content, | ||
| data=dict(data), | ||
| files=files, # type: ignore | ||
| files=files or None, # type: ignore |
There was a problem hiding this comment.
I don't think this change is correct. It seems to go against the spirit of your main change in the httpx/_content.py file.
It seems to prevent the fix from working when using the cli.
Although I am not familiar with this usage and I didn't look too much into it, so I don't know if it's even possible to do this through the cli.
There was a problem hiding this comment.
Thank you for the review, I'll take a look at the CLI.
|
@laipz8200 @tomchristie When do you plan to merge this feature? I am running into a similar issue |
|
@tomchristie @laipz8200 Is there a workaround for this in the older versions? |
@ujayant Here is a workaround: https://github.com/encode/httpx/issues/3396#issuecomment-2508142475. I apologize for not being able to dedicate time recently to address this issue. |
I see this error when I try to use your example - |
|
Hi @tomchristie, Sorry for the late reply — I think this PR is ready to be merged. Regarding the point @sylann raised, I see it as more of a decision question: do we want to offer the same functionality for the CLI as well? If yes, should it be done in this PR? |
Summary
related #3396.
Currently, a multipart request can only be sent when the files parameter is non-empty. This restriction limits cases where users might want to send data using multipart mode without attaching any files, which is possible in tools like Postman.
Change: Instead of requiring files to be non-empty, we could determine the need for a multipart request based on whether files is None rather than its emptiness. This would allow users to send multipart requests without attaching files if needed.
I think there is no significant documentation update required, so I have not made any changes. However, please let me know if any updates are needed.
Checklist