summaryrefslogtreecommitdiff
path: root/AK/URL.cpp
AgeCommit message (Collapse)Author
2021-03-07AK: Add optional fragment parameter to create_with_file_protocol()speles
Now that we use fragment for specifying starting selection in FileManager we would benefit from providing it as argument instead of setting it each time separately.
2020-12-12AK::URL: Fix setting the port number in the case it was the last element of ↵xspager
the URL
2020-11-04AK::URL: Check if URL requires a port set to be considered a valid URLBrendan Coles
`AK::URL` will now check if the URL requires a port to be set using `AK::URL.protocol_requires_port(protocol)`. If the URL does not specify a port, and no default port for the URL protocol is found with `AK::URL.default_port_for_protocol(protocol)`, the URL is considered to be invalid.
2020-10-08AK: Use new format functions.asynts
2020-08-24AK: Add URL::create_with_data() to create data URLsAnotherTest
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-06-10AK: URL should urldecode data: URL payloadsAndreas Kling
Otherwise we can end up with percent-encoded nonsense in base64 data which does not decode correctly.
2020-06-07AK: Don't try to complete relative data: URLsAndreas Kling
2020-05-26AK: Rename FileSystemPath -> LexicalPathSergey Bugaev
And move canonicalized_path() to a static method on LexicalPath. This is to make it clear that FileSystemPath/canonicalized_path() only perform *lexical* canonicalization.
2020-05-23AK: Fix URL::complete_url behaviour for when a fragment is passedFalseHonesty
Previously, passing a fragment string ("#section3") to the complete_url method would result in a URL that looked like "file:///home/anon/www/#section3" which was obviously incorrect. Now the result looks like "file:///home/anon/www/afrag.html#section3".
2020-05-17AK: Make sure URL retains trailing slash if present in complete_urlConrad Pankoff
2020-05-17AK: Set default port in URL to 1965 for gemini protocolConrad Pankoff
2020-05-16AK: Handle "protocol relative URLs" in URL::complete_url()Linus Groh
2020-05-10AK: Add support for about: URLsAndreas Kling
2020-05-09AK: Unbreak parsing of file:// URLs with no hostAndreas Kling
We should still accept file:/// in the URL parser. :^)
2020-05-09AK: Allow file:// URLs to have a hostnameAndreas Kling
2020-05-05AK: Add URL::basename()Andreas Kling
2020-04-26AK: Make URL::to_string() produce a data URL for data URLs :^)Andreas Kling
2020-04-26AK: Teach URL how to parse data: URLs :^)Andreas Kling
2020-04-19AK: Add URL::create_with_url_or_path()Sergey Bugaev
This is an utility to create a URL from a given string, which may be either a URL such as http://example.com (which will be used as-is), or a file path such as /etc/fstab (which will be transformed into file:///etc/fstab).
2020-04-19AK: Consider more URLs invalidSergey Bugaev
Not just http or https. This fixes "foo" being recognized as a valid URL with protocol "foo", empty host and empty path.
2020-04-18AK: Add URL::create_with_file_protocol(path)Andreas Kling
This is a convenience helper that allows you to easily construct a file:// URL from an absolute path.
2020-04-12AK: Parse query and fragment in URL::parse()Linus Groh
2020-04-12AK: Support fragment in URLLinus Groh
2020-04-11AK: Recompute URL validity after changing protocol/host/pathAndreas Kling
This allows you to build URLs by calling setters on an empty URL and actually get a valid URL at the end.
2020-02-25AK: Make Vector use size_t for its size and capacityAndreas Kling
2020-01-18Meta: Add license header to source filesAndreas Kling
As suggested by Joshua, this commit adds the 2-clause BSD license as a comment block to the top of every source file. For the first pass, I've just added myself for simplicity. I encourage everyone to add themselves as copyright holders of any file they've added or modified in some significant way. If I've added myself in error somewhere, feel free to replace it with the appropriate copyright holder instead. Going forward, all new source files should include a license header.
2019-12-10AK: Teach URL::complete_url() how to resolve URL's starting with "/"Andreas Kling
2019-12-09AK: Use size_t for the length of stringsAndreas Kling
Using int was a mistake. This patch changes String, StringImpl, StringView and StringBuilder to use size_t instead of int for lengths. Obviously a lot of code needs to change as a result of this.
2019-11-25AK: Add a query string component to URLAndreas Kling
It's missing query string parsing from new URLs, but you can set the query string programmatically, and it will be part of the URL when serialized through to_string().
2019-11-19LibHTML+AK: Move URL completion from Document to AK::URLAndreas Kling
Completing a relative URL based on a base URL seems like generally useful functionality.
2019-10-21URL: https:// URLs should default to port 443Andreas Kling
2019-10-17URL: Parse URLs that lack a path (e.g "http://serenityos.org")Andreas Kling
2019-10-10URL: No need to include ":80" when serializing http:// URLsAndreas Kling
2019-10-05AK: URL should support file:// URL'sAndreas Kling
Also add some setters since this class was very setter-less.
2019-08-10AK: Add a basic URL class to help us handle URL'sAndreas Kling
We're gonna need these as we start to write more networking programs.