A couple of ideas
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 20/100
- Issue type
- Feature
- Clarity
- Needs clarification
- Activity status
- Stale
- Tech stack
- cpp
- Domain
- networking
Research direction
Start by reviewing include/HTTPRequest.hpp, especially the referenced lines around auto usage and the extra data copy, then inspect the existing send path for asyncSend. The issue combines HTTPS, exception handling, file organization, style, copying, and callbacks; done would require a separately scoped decision and validation for one of these proposals.
Written by the indexing model from the issue text.
Description
Your library seems very promising, but I thought I would let you know a few ideas I had while looking at it:
- Would be really great to get https support
- I'd request to avoid the use of C++ exceptions. Many C++ devs don't use them very much (they're notoriously expensive!)
- The single header, although it looks "easier to use" at first, is really difficult to browse. Splitting the source file into multiple files is almost always the best idea.
- style nit: I feel like you're overusing
autoin the code. I mean, in this case,intis shorter ;) The general guideline I've heard is to useautowhere it "increases readability", very subjective :) - There is some extra data copy that could be avoided. Consider going to C-arrays/
memcpyfor passing around some of the data? - Would be nice to have an
asyncSendthat accepts a lambda onComplete handler (something likestd::function<void (Response)>)
- Dominant language
- C++
- Stars
- 971
- Forks
- 200
- PR merge metrics
- No merged PRs in 30d
Getting set up
This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.
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 elnormous/HTTPRequest
-
Difficulty 5/5 Over a week Newbie friendliness 20/100
elnormous/HTTPRequest#79 · 2 reactions ·
-
Difficulty 3/5 1-2 days Newbie friendliness 45/100
elnormous/HTTPRequest#77 ·
-
Difficulty 3/5 1-2 days Newbie friendliness 25/100
elnormous/HTTPRequest#75 · 1 comment ·
-
Difficulty 3/5 1-2 days Newbie friendliness 25/100
elnormous/HTTPRequest#74 · 1 comment ·
-
Difficulty 1/5 Under an hour Newbie friendliness 55/100
elnormous/HTTPRequest#72 ·
All issues in elnormous/HTTPRequest
Similar issues
-
HasBacktrace Priority-Critical
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
azerothcore/azerothcore-wotlk#27921 ·
Maintainers usually reply within 1 day
-
Difficulty 1/5 Under an hour Newbie friendliness 88/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
Maintainers usually reply within 1 day
-
Difficulty 1/5 Under an hour Newbie friendliness 88/100
yhirose/cpp-peglib#344 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 90/100
ExpressLRS/ExpressLRS#3805 ·
Maintainers usually reply within 2 days