HTTP client: Simplify HTTP file uploads and submitting forms
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 25/100
Research direction
No implementation files, tests, or entry points are named. Start by evaluating the client API options described in the issue, including the server-side references (#252, #220, #226) and experimental reactphp/filesystem; done means an agreed API for forms and file uploads with a viable non-blocking filesystem approach.
Written by the indexing model from the issue text.
Description
This library should provide better support for HTTP file uploads and submitting forms. Right now, both are supported just fine, but require manually constructing the outgoing HTTP request body. This is relatively easy for simple forms (see https://github.com/reactphp/http#post), but more challenging for forms with file uploads.
Handling file uploads is already supported on the server side (see #252, #220, #226 and others), so adding better support for this also on the client side makes a lot of sense. Implementing this is non-trivial, but doable. The major challenge right now would be evaluating possible API options and once settled, sponsoring/funding for this feature.
On top of this, we would have to consider possible API options for adding file uploads. In particular, non-blocking filesystem access remains challenging (fstat + fopen + fread), see also experimental reactphp/filesystem.
We welcome contributions, reach out if you want to support this project 👍
- Dominant language
- PHP
- Stars
- 781
- Forks
- 166
- PR merge metrics
- No merged PRs in 30d
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from reactphp/http
-
bug
Difficulty 3/5 1-2 days Newbie friendliness 76/100
-
bug
Difficulty 3/5 1-2 days Newbie friendliness 35/100
-
maintenance
Difficulty 5/5 Over a week Newbie friendliness 20/100
-
new feature
Difficulty 4/5 3-5 days Newbie friendliness 48/100
-
new feature
Difficulty 4/5 3-5 days Newbie friendliness 35/100
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
getgrav/grav-plugin-api#45 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
RSS-Bridge/rss-bridge#5098 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
phingofficial/phing#2025 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
silverstripe/developer-docs#911 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100