-
Notifications
You must be signed in to change notification settings - Fork 376
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
Isolate URL object #2744
Isolate URL object #2744
Conversation
c5375e9
to
98cd257
Compare
I'm merging for moving forward on other PR and fixing the CI, but feel free to add reviews, I will implement them in another PR. |
@Hind-M @Klaim @JohanMabille Do you think it is a good idea to use |
Hmm I guess you won't know if you don't give it a try ^^ |
While I agree it would be nice to have a path type for this, |
I think this would be a wrong good idea ;) Especially when you have API like this one: /**
* Append a sub path to the current path.
*
* Contrary to `std::filesystem::path::append`, this always append and never replace
* the current path, even if @p subpath starts with a '/'.
*/
auto append_path(std::string_view subpath) -> URL&; If the path is stored (and returned) as a |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Post merge review: LGTM , nothing to change so far.
* Add remove_(prefix|suffix) * Refactor and document unc_url * Remove unused functions * Add CURLUrl wrapper * Hide CURL from URLHandler * Rename URLHandler > URL * Simplify test_url * Fix path setter * Add URL builder tests * Rename URL::url > URL::str * Rename URL ctor URL::parse * Refactor has_scheme * Add get_scheme * Add scheme option to URL::parse * Add scheme option to URL::str * Fix build * Add has_drive_letter * Rename and document scheme functions * Stronger URL invariant * Rename URL::auth > URL::authentication * Add URL::authority * Add URL IP tests * Document URL * Fxi rebase util/string * Fix channel tests * Allow password without user in URL * Scope util::URL * No context in test_url_manip * Remove unused CURLEasyHandle * remove declaration * Add case handling to URL * Add URL::operator== * Add URL::operator/ * Test url encoding * Reimplement URL encoding without CURL * Fix MSVC * Add URL::user encoding * Add URL::password encoding * Add URL::host encoding * Add URL::str options * Small URL imrovement in channel.cpp * Fix URL auth encoding * Added review suggestions from @Hind-M
URLHandler
as aURL
class with strong invariant.url
files #2611