-
-
Notifications
You must be signed in to change notification settings - Fork 3.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
LibHTTP+LibWeb+RequestServer: Add HTTP::HeaderMap + simplify Set-Cookie handling #24553
Conversation
a277805
to
c1b17bb
Compare
Missed a spot |
Hm, how should we handle commit messages for cherry-picks that break the build and need fixups?
In some cases it might be possible to do the fixup in a commit before the breaking upstream change. Is that possible here? If not, then "cherry-pick with amended commit message" is maybe best? |
c1b17bb
to
e049fe8
Compare
This what I did: I can add a note to the commits, for this one that would basically be:
The |
Adding something like "Updated to fix DEBUG_ALL build" to the cherry pick commit message makes sense to me :) |
It breaks on Ladybird too if I build with |
Put up the mentioned fix here: LadybirdBrowser/ladybird#119 |
Thinking about this again, this doesn't help with the "every commit should build". I suppose we could squash the two cherry-picks and put two "cherry-picked commit XXX" lines in the squashed commit message. |
Instead of using a HashMap<ByteString, ByteString, CaseInsensitive...> everywhere, we now encapsulate this in a class. Even better, the new class also allows keeping track of multiple headers with the same name! This will make it possible for HTTP responses to actually retain all their headers on the perilous journey from RequestServer to LibWeb. (cherry picked from commit e636851481eabdf00953573a5eb459ee52feeacc) Updated various SerenityOS components to make it build. Fetch: Make sure we iterate over HeaderMap's headers() This fixes a build failure when built with CMake option '-DENABLE_ALL_THE_DEBUG_MACROS=ON'. (cherry picked from commit c51d01bea712d75f9b2cd700be942935044e49b4)
Before we had HTTP::HeaderMap (which preserves multiple headers with the same name), we collected multiple "Set-Cookie" headers and bundled them together as a JSON array. This was a huge hack, and now we can stop doing that, since LibWeb gets access to the full set of headers now. (cherry picked from commit 5ac093885922246529a467054888e598f8832450)
No longer just for response headers! The same type is obviously useful and ergonomic when making requests as well. (cherry picked from commit 260c5c50ad19f19d0d4c30984e512f56c055ecff) Updated various SerenityOS components to make it build.
e049fe8
to
06a1408
Compare
I squashed commit: LadybirdBrowser/ladybird@c51d01b into the first one where the change/breakage occurs. |
Commits cherry picked from: LadybirdBrowser/ladybird#116 and LadybirdBrowser/ladybird#119