Consider adapting lang_handler to use http crate types
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 25/100
- Issue type
- Refactor
- Clarity
- Needs clarification
- Activity status
- Stale
- Tech stack
- rust
- Domain
- backend, backend-api-design
Research direction
Start by reading the current types in lang_handler and comparing them with the http crate and its http-body companion. Define how the extensions API carries socket data, response logs, and exceptions, and assess how the request rewriter can work with the shared types; done means those adaptations are specified and supported without losing the existing needs.
Written by the indexing model from the issue text.
Description
The http crate provides very similar types as are presently implemented in lang_handler. These could be reused instead to reduce our scope of maintenance. Had I realized that existed I would have just used it from the start. 😅
We would need to use the extensions API to pass through a few additional needed bits like socket data (local/remote ip/port), response logs, and exceptions though, as those do not have any specific support included.
There's a few benefits I see:
- Using known/shared standard code makes maintenance and contribution easier
- In combination with
http-bodycompanion crate, stream support becomes much easier - Our request rewriter could be lifted to be more generalized over http crate types for use in the broader Rust ecosystem
- Dominant language
- Rust
- Stars
- 429
- Forks
- 11
- Avg merge
- 29m
- Merged PRs (30d)
- 1
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 platformatic/php-node
-
Support for Windows Open
Difficulty 5/5 Over a week Newbie friendliness 25/100
platformatic/php-node#58 ·
-
libzip version Openbug
Difficulty 4/5 3-5 days Newbie friendliness 20/100
platformatic/php-node#43 · 7 comments ·
-
platformatic/php-node#26 · 2 comments · 1 assignee ·
-
Difficulty 4/5 3-5 days Newbie friendliness 25/100
platformatic/php-node#21 · 2 comments ·
All issues in platformatic/php-node
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
Eynzof/Hermes-CN-Desktop#616 ·
-
bug rules
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
-
app bug
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
IronCoreLabs/ironcore-alloy#346 ·
-
good first issue
Difficulty 2/5 1-3 hours Newbie friendliness 65/100