Age | Commit message (Collapse) | Author |
|
Extend uri_string module (compose_query and dissect_query)
|
|
* lukas/stdlib/maps_iterators/OTP-14012:
erts: Limit size of first iterator for hashmaps
Update primary bootstrap
Update preloaded modules
erts: Remove erts_internal:maps_to_list/2
stdlib: Make io_lib and io_lib_pretty use maps iterator
erts: Implement batching maps:iterator
erts: Implement maps path iterator
erts: Implement map iterator using a stack
stdlib: Introduce maps iterator API
Conflicts:
bootstrap/lib/stdlib/ebin/io_lib.beam
bootstrap/lib/stdlib/ebin/io_lib_pretty.beam
erts/emulator/beam/bif.tab
erts/preloaded/ebin/erlang.beam
erts/preloaded/ebin/erts_internal.beam
erts/preloaded/ebin/zlib.beam
|
|
|
|
This iterator implementation fetches multiple elements to
iterate over in one call to erts_internal:maps_next instead
of one at a time. This means that the memory usage will go
up for the iterator as we are buffering elements, but the
usage is still bounded.
In this implementation the max memory usage is 1000 words.
Using this approach makes the iterator as fast as using
maps:to_list, so maps:iterator/2 has been removed.
|
|
Refactor supervisor, and store children in a map instead of a list
OTP-14586
|
|
Implement functions for handling form-urlencoded
query strings based on the HTML5 specification.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
compose_query/{1,2} and dissect_query/1 removed as the implemented
specification (HTML 2.0) is old. They will be re-implemented based
on HTML5.
|
|
|
|
|
|
|
|
|
|
Implements the following Syntax-Based Normalizations:
- Case Normalization
- Percent-Encoding Normalization
- Path Segment Normalization
- Scheme-Based Normalization
- HTTP(S)
- Basic support for FTP, SSH, SFTP, TFTP
|
|
uri_map() updated to allow 'undefined' ports in order to align
the implementation with RFC 3986:
port = *DIGIT
An 'undefined' port is mapped to a ":" during recompose operation.
|
|
|
|
|
|
|
|
|
|
Update list of supported separators:
- escaped_amp (default): "&"
- amp: "&"
- semicolon: ";"
|
|
|
|
|
|
|
|
- transcode/2 flattens input lists in order to be able to handle
lists with percent-encoded parts that are split into muliple
list and binary segments.
- Add additional tests for transcoding mixed lists.
|
|
Previously when parsing queries the first "?" was part of the
parsed query in the result Map. This behavior has been changed
to follow the patterns used with other URI components and to
not include the special character(s) that mark the start of a
specific component.
|
|
|
|
- Add property tests using PropEr.
- Add new testcases to uri_string_SUITE.
- Improve calculation of parsed binary.
- Verify if input to parse() is UTF8 encoded.
- Update is_valid_map(): added check for path
and host.
|
|
- Improved calculation of parsed binary.
- Added tests for special corner cases.
- Fixed dialyzer warnings.
|
|
- Implemented recompose function with percent-encoding and
validation of IPv4/IPv6 addresses.
- Added test for recompose that uses a generated test
vector (URI combinations based on a fix set of URI
components).
- Added test for parse-recompose using a generated
test vector.
- Removed parsing functions for lists. Lists are converted to
binary before parsing.
|
|
|
|
|
|
|
|
|
|
base64:decode(List) optimized reimplementation
OTP-14624
|
|
* maint:
fix win32 share filename join/split (#1604)
Correct io_vec handling
|
|
Handle UNC (shared) path on win32, previously "//dir/.." and "\\\\dir\.." was cleaned up to
"/dir/.." which was not correct.
OTP-14693
|
|
OTP-13764
Implement uniform floats with decreasing distance towards 0.0
|
|
|
|
* maint:
stdlib: Make ets:i/1 exit cleaner upon ^D (old Erlang shell)
|
|
* hasse/stdlib/fix_ets_i_1/OTP-14663:
stdlib: Make ets:i/1 exit cleaner upon ^D (old Erlang shell)
|
|
* dgud/dot_erlang/OTP-14439:
fixup! Do not load .erlang from current dir
erlc: Do not load .erlang
escript: Do not load .erlang
dialyzer: Do not load .erlang
reltool: Add no_dot_erlang bootfiles
Enable usage of no_dot_erlang in bootstrap
Do not load .erlang from current dir
|
|
|
|
This version does not work great as the subtrees
created are not proper hash maps. Also it is not
all that performant as the extra allocations to
keep the stack there is expensive.
|
|
|
|
* rickard/null-chars/ERL-370/OTP-14543:
Don't allow null chars in various strings
Conflicts:
erts/emulator/beam/erl_alloc.types
erts/preloaded/ebin/erlang.beam
|
|
* maint:
Revert "Merge branch 'rickard/null-char-filenames/ERL-370/OTP-14543' into maint"
|