Age | Commit message (Collapse) | Author |
|
|
|
|
|
A trailing group which is definitely not an IPv4Address
needs to be counted. Detect this as the state being
IN_GROUP_NOT_IPV4 after the end of the string.
|
|
* Multiple colons should not be accepted in state 4.
* After parsing a digit group and encountering a colon,
we need allow either another colon or the beginning
of either another group or an IPv4 address. Add state 5
to handle this.
|
|
|
|
|
|
|
|
|
|
Query and fragment may be empty but present in a URI.
Handle this in the same way that port is handled: include
a flag for each of query and fragment, to allow an
empty but present query/fragment.
|
|
* userinfo
* port (hasPort)
* path
* fragment
Also include these element when generating string from URI.
|
|
Add methods to set scheme, host, and query elements.
Add ability to generate URI strings out of scheme,
host, and query elements.
This does not yet support userinfo, port, or fragment elements.
|
|
* Add ValidateIpv6Address.
* Add ValidateIpv4Address (since an IPv6 address is
allowed to contain an IPv4 address for compatibility)
* Add ValidateOctet (used by ValidateIpv4Address).
|
|
After parsing a URI, we don't want the square brackets
to remain in the host element, because those were only
there to delimit it in the context of a URI string.
|
|
Add unit tests for stand-alone modules that were formerly
part of Uri and so were previously tested along with Uri.
|
|
|
|
Path normalization is hideously broken for now.
|
|
Such a URI should be considered equivalent to a path of "/"
because in both cases the path is an absolute path.
|
|
Fix assumption that the path of an absolute URI is
considered to have a relative path if the path
is empty.
|
|
For normalization "step 2C", if the output path was
empty, we don't want to pop the end of it off.
|
|
* Code the neat example in section 6.2.2 of the RFC.
* Add equality/inequality operators for Uri.
|
|
|
|
|
|
|
|
|
|
|
|
Path may also have colon, so make sure we don't scan
into the path element if there is one.
|
|
* Detect bad characters in host names.
* Incorporate splitting host and port into the state
machine that is parsing/decoding the host.
NOTE:
IPv6address is not checked for bad characters yet.
More research is needed to learn exactly what are
the various ways to write an IPv6 address.
|
|
A colon may be in the authority, if present, so limit
the search for scheme delimiter so we aren't scanning
the authority part, when parsing the scheme.
|
|
|
|
|
|
|
|
* Add IsRelativeReference.
* Add IsRelativePath.
* Add Query.
* Add Fragment.
* Add UserInfo.
* Fix parsing of URIs that have no scheme.
|
|
|
|
* Parts of a path are called "segments", not "steps",
in the RFC.
* The RFC specifies that path separators are always
forward slashes, so don't support other separators.
|
|
* Can now parse URIs from strings.
* This supports scheme, host, and path.
* Path separator defaults to "/" but may be customized.
|
|
|