HTTP client: Support for handling cookies
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 25/100
Research direction
Start by reviewing RFC 6265 and the ReactPHP HTTP client implementation to resolve the proposed cookie-jar design and storage boundaries. Define how enabling, disabling, manual changes, expiration, domain matching, and serialization should work; done means the agreed behavior is implemented and covered by tests.
Written by the indexing model from the issue text.
Description
While I was trying to port some blocking libcURL code to ReactPHP I found there is no support for handling cookies when using the HTTP client. Inspired by other clients (especially cURL) I propose that the following features should be added:
- compliance with HTTP State Management Mechanism (expiration, send the cookie only to the corresponding domain, etc.)
- cookie support can be enabled/disabled
- cookies can be added/removed manually
- serialization/deserialization to/from a format like Netscape Cookie Jar (ideally this should be decoupled so other formats could be easily added)
As suggested by @WyriHaximus, storing the cookie jar could be done with react/cache which I find totally ok. Saving and loading to/from files could be implemented by the user or we could build something on top of ArrayCache.
After we settle the details of this, I would be happy to implement it :D
- 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
-
help wanted new feature
Difficulty 5/5 Over a week Newbie friendliness 25/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