| Age | Commit message (Collapse) | Author | 
|---|
|  |  | 
|  | Added CharacterSet as a class to represent character sets,
allowing us to build singletons and composite character sets
more concisely. | 
|  | * Extract IsCharacterInSet to its own module.
* Extract PercentEncodedCharacterDecoder to its own module. | 
|  | Remove state 3 hole in host/port parsing state machine | 
|  | Extract percent-encoded character decoding, so that
the logic is all in one class that is reused. | 
|  |  | 
|  |  | 
|  |  | 
|  | 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. | 
|  |  | 
|  | Extracted IsCharacterInSet function | 
|  |  | 
|  | Extract method ParseAuthority | 
|  | Extract method that parses the path segments from
the whole path string. | 
|  | * Extract function that parses 16-bit unsigned integers,
  to use in parsing port element.
* Clean up and clarify what parts of the original URI
  string are still being held onto at various points
  in the code. | 
|  |  | 
|  | * 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. | 
|  |  |