2
0
mirror of https://github.com/boostorg/url.git synced 2026-01-24 06:22:14 +00:00

20 Commits

Author SHA1 Message Date
Alan de Freitas
142fe37745 feat: decode free functions
fix #947
2026-01-19 16:00:56 -05:00
Alan de Freitas
1e010e5ba1 perf: constructing segments subviews has a constant cost 2025-11-04 19:07:09 -05:00
Alan de Freitas
64859a8fc2 fix: consistent behavior for space-as-plus option
This commit refactors all functions so they have consistent behavior for the space-as-plus encoding option.

- any_params_iter objects store and apply the appropriate option when measuring and copying
- when the option is enabled, encoding functions encode space-as-plus and plus as %2B regardless of the charset
- normalization and comparison algorithms take into consideration special query chars whose meaning changes depending on encoding
- all params_view objects created with default options enable space-as-plus encoding

fix #903
2025-05-15 16:04:06 -05:00
Brian Weed
4998971f13 refactor: buf unused variable 2024-08-16 13:18:31 -03:00
alandefreitas
5b86565807 test: cover pct_string_view::decode
This commit simplifies duplicated code so that we tests all paths for the pct_string_view::decode function. Unreachable paths are also marked.

This is a partial solution to #828, where src/detail/decode.cpp has low coverage.
2024-03-15 17:56:14 -03:00
alandefreitas
1a6871339c refactor: unsafe encoding assumes default options
The private unsafe encoding functions received a parameter to determine the encoding options. However, these functions are never used in any context where these options should diverge from the default values.

This is a partial solution to #828, where `detail/encode.hpp` is the file with the lowest coverage.
2024-03-13 19:13:34 -03:00
alandefreitas
6ec189b931 docs: remove detail::pattern from reference
fix #822
2024-03-12 21:25:55 -03:00
alandefreitas
e1660fc506 refactor: invert normalized_path_digest likely condition 2024-03-08 16:00:30 -03:00
alandefreitas
c2bddc2b20 refactor: assert remove_dot_segments never receives encoded dots 2024-03-08 16:00:30 -03:00
alandefreitas
40a3599215 fix: handle encoded slash in hash
fix #818
2024-03-08 16:00:30 -03:00
alandefreitas
e023860efe test: remove unused detail function
fix #818
2024-03-08 16:00:30 -03:00
alandefreitas
60d5ee24e0 refactor: source files have no header guards
fix #819
2024-03-04 15:59:44 -03:00
alandefreitas
1beb32245d fix: url_impl std::size_t overflow 2024-02-07 18:02:58 -03:00
alandefreitas
8a8204103f refactor: move detail headers to src 2024-01-19 15:34:31 -03:00
alandefreitas
2df5f62f55 fix: resolve abnormal hrefs
fix #808
2024-01-03 17:55:04 -03:00
sdarwin
33cfb939d0 ci: self-hosted runners 2023-07-22 15:21:03 -03:00
Ed Tanous
f06f595ae7 fix: format_args zero serialization
Fixes #758

The parsing and measuring code didn't have explicit handling for integer
zero, and the while(v > 0) loop wouldn't execute.

Also add tests to cover both of these cases.
2023-06-29 02:32:51 -03:00
alandefreitas
2bae458a79 fix: member of dll interface class may not be declared with dll interface
fix #748
2023-06-09 21:12:59 -03:00
alandefreitas
96438f683e remove type aliases
fix #743
2023-04-28 17:27:26 -03:00
Vinnie Falco
963bf5a4b7 Refactor library translation units 2023-04-14 15:46:53 -03:00