summaryrefslogtreecommitdiff
path: root/Libraries/LibHTTP
AgeCommit message (Collapse)Author
2020-09-28ProtocolServer+LibWeb: Support more detailed HTTP requestsAndreas Kling
This patch adds the ability for ProtocolServer clients to specify which HTTP method to use, and also to include an optional HTTP request body.
2020-09-25Meta+LibC through LibHTTP: Make clang-format-10 cleanBen Wiederhake
Why break at LibHTTP? Because "Meta+Libraries" would be insanely large, and breaking between LibHTTP and LibJS makes the commits roughly evenly large.
2020-08-19LibHTTP: Fix processing terminating chunkTom
After encountering the terminating chunk we need to read the trailing headers line by line, until encountering the final empty line. Fixes #3197
2020-08-16LibHTTP: Remove unused private field m_queued_finish in HttpsJob (#3181)Nico Weber
2020-08-16AK: Rename KB, MB, GB to KiB, MiB, GiBNico Weber
The SI prefixes "k", "M", "G" mean "10^3", "10^6", "10^9". The IEC prefixes "Ki", "Mi", "Gi" mean "2^10", "2^20", "2^30". Let's use the correct name, at least in code. Only changes the name of the constants, no other behavior change.
2020-08-06Refactor: Expose const_cast by removing ByteBuffer::warp(const void*, size_t)asynts
This function did a const_cast internally which made the call side look "safe". This method is removed completely and call sites are replaced with ByteBuffer::wrap(const_cast<void*>(data), size) which makes the behaviour obvious.
2020-08-02ProtocolServer+LibTLS: Pipe certificate requests from LibTLS to clientsAnotherTest
This makes gemini.circumlunar.space (and some more gemini pages) work again :^)
2020-07-26LibHTTP: Be more tolerant about bad chunked encoding trailersAnotherTest
Some servers (*glares at cloudflare*) like to send two last chunks, which is strictly against the spec. Let's be more tolerant of this behaviour.
2020-06-12AK: Make string-to-number conversion helpers return OptionalAndreas Kling
Get rid of the weird old signature: - int StringType::to_int(bool& ok) const And replace it with sensible new signature: - Optional<int> StringType::to_int() const
2020-05-29Meta: Add a script check the presence of "#pragma once" in header filesEmanuele Torre
.. and make travis run it. I renamed check-license-headers.sh to check-style.sh and expanded it so that it now also checks for the presence of "#pragma once" in .h files. It also checks the presence of a (single) blank line above and below the "#pragma once" line. I also added "#pragma once" to all the files that need it: even the ones we are not check. I also added/removed blank lines in order to make the script not fail. I also ran clang-format on the files I modified.
2020-05-21ProtocolServer: Support request headersAndreas Kling
You can now pass a dictionary of request headers when starting a new download in ProtocolServer. The HTTP and HTTPS protocol will include the headers in their requests.
2020-05-21LibHTTP: Handle chunk sizes that start with zeros correctlyAnotherTest
Apparently that's allowed and the RFC is just unclear about it. Some servers seem to zero-pad the chunk size for whatever reason, and previously, we interpreted that as the last chunk.
2020-05-17LibGemini+LibHTTP: Defer did_progress call to match other callbacksConrad Pankoff
2020-05-15LibCore: Make IODevice::can_read_line() constAnotherTest
This also makes LibHTTP's Job::can_read_line() const, as IODevice was keeping that from being const. Fixes #2219
2020-05-14Build: Switch to CMake :^)Sergey Bugaev
Closes https://github.com/SerenityOS/serenity/issues/2080
2020-05-12LibHTTP+ProtocolServer: Use CaseInsensitiveStringTraits for headersAndreas Kling
These are supposed to be interpreted caselessly so let's just use the case insensitive traits throughout. This means we'll understand things like "Content-Length" even when they send "content-length" etc.
2020-05-12LibHTTP: Support Transfer-Encoding: chunkedAnotherTest
We advertise ourselves to servers as supporting HTTP/1.1; we should put our money where our mouth is, and start supporting some of its features.
2020-05-05LibHTTP: Actually include query parameters when serializing raw requestShadowfacts
2020-05-05LibHTTP: Unify and generalise response handling logicAnotherTest
2020-05-03LibHTTP: Put some debug spam behind an #ifdefAndreas Kling
2020-05-03LibTLS: "Properly" handle the server dropping the connectionAnotherTest
Contrary to popular belief, not every implementation of TLS follows the specs. Some of them just drop the connection without sending a proper close_notify, and we should handle that gracefully.
2020-05-03ProtocolServer: Implement and handle download progressAnotherTest
Also updates `pro` to display download progress and speed on stderr
2020-05-02LibHTTP: Trim received data to Content-LengthAnotherTest
Apparently servers will feel free to pad their response if they send one that contains a content-length field. We should not assume that the entirety of the response is valid data.
2020-05-02LibTLS: Switch to Hash::Manager for hashing and add SHA1AnotherTest
Now we can talk to google.com
2020-05-02LibTLS: Make enough stuff work to have a demo runAnotherTest
...maybe, sometimes :^)
2020-05-02LibCore+LibHTTP: Move out the HTTP handler and add HTTPSAnotherTest