|
Options |
Name |
Purpose |
|
|
AddPathSegment (character)
|
/* Adds/appends a segment to the Path property
Will %-encode the segment value
Empty/blank segments are ignored
@param character A path segment */
|
|
|
AddQuery (character)
|
/** Adds a name-only QueryMap argument. Equivalent to calling
AddQueryMap(pcname, ?).
@param character The QueryMap name */
|
|
|
AddQuery (character, character)
|
/** Adds a query argument
@param character The query name
@param character The query value
*/
|
|
|
AddQueryString (character, logical)
|
/** Parses a string containing a URI's QUERY and adds it to this URI
@param character A query string
@param logical TRUE if the incoming strings should be URL-decoded */
|
|
|
BuildUri ()
|
/* constructs a string representation */
|
|
|
CHARACTER Decode ()
|
/** Attempts to decode a previously-encoded URL.
@return character A decoded URL */
|
|
|
CHARACTER Decode (character)
|
/** Attempts to decode a previously-encoded string.
@param character The string to decode
@return character A decoded URL
@throws AppError If the encoding is malformed */
|
|
|
CHARACTER Decode (character, character)
|
/** Attempts to decode a previously-encoded string.
@param character The string to decode
@param character The target codepage to encode into. Defaults to CPINTERNAL
@return character A decoded URL
@throws AppError If the encoding is malformed */
|
|
|
CHARACTER Decode (String)
|
/** Attempts to decode a previously-encoded string.
@param String The string to decode
@throws AppError If the encoding is malformed */
|
|
|
CHARACTER Encode ()
|
/** Encodes this URI
@return character An encoded version of the URI */
|
|
|
CHARACTER Encode (character, UriEncodingTypeEnum)
|
/** Encodes a string for a particular purpose. Usage of Encode<encoding-type> is recommended.
The method does NOT re-encode % characters.
@param character The string to encode
@param EncondingTypeEnum The type of encoding to apply
@return character the encoded string */
|
|
|
CHARACTER Encode (character, UriEncodingTypeEnum, logical)
|
/** Encodes a string for a particular purpose. Usage of Encode<encoding-type> is recommended,
unless the re-encoding of % characters is desired.
@param character The string to encode
@param EncondingTypeEnum The type of encoding to apply
@param logical TRUE if any percent characters should be encoded as %25
@return character the encoded string */
|
|
|
CHARACTER Encode (URI)
|
/** Encodes a URI.
@param URI The URI to encode
@param character A character representaion of the URI */
|
|
|
CHARACTER EncodeCookie (character)
|
/* Encodes a string per Cookie encoding rules. This method is here for historical reasons.
Cookie US-ASCII characters excluding CTLs, whitespace (32) DQUOTE (34), comma (44), semicolon (59), and backslash (92)
@param character A string to encode
@return character An encoded string */
|
|
|
CHARACTER EncodeCookie (String)
|
/* Encodes a string per Cookie encoding rules. This method is here for historical reasons.
Cookie US-ASCII characters excluding CTLs, whitespace (32) DQUOTE (34), comma (44), semicolon (59), and backslash (92)
@param String A string to encode
@return character An encoded string */
|
|
|
CHARACTER EncodeFragment ()
|
/* Encodes this URI's Fragment per URI Fragment encoding rules
@return character An encoded string */
|
|
|
CHARACTER EncodeFragment (character)
|
/* Encodes a string per URI Fragment encoding rules
https://tools.ietf.org/html/rfc3986#page-11
unreserved = ALPHA / DIGIT / "-" / "." / "_" / "~"
sub-delims = "!" / "$" / "&" / "'" / "(" / ")" / "*" / "+" / "," / ";" / "="
pchar = unreserved / pct-encoded / sub-delims / ":" / "@"
Fragment : fragment = *( pchar / "/" / "?" )
@param character A string to encode
@return character An encoded string */
|
|
|
CHARACTER EncodeFragment (String)
|
/* Encodes a string per URI Fragment encoding rules
https://tools.ietf.org/html/rfc3986#page-11
unreserved = ALPHA / DIGIT / "-" / "." / "_" / "~"
sub-delims = "!" / "$" / "&" / "'" / "(" / ")" / "*" / "+" / "," / ";" / "="
pchar = unreserved / pct-encoded / sub-delims / ":" / "@"
Fragment : fragment = *( pchar / "/" / "?" )
@param String A string to encode
@return character An encoded string */
|
|
|
CHARACTER EncodeHost ()
|
/* Encodes this uri's Host per URI Host encoding rules
@return character An encoded string */
|
|
|
CHARACTER EncodeHost (character)
|
/* Encodes a string per URI Host encoding rules
https://tools.ietf.org/html/rfc3986#page-11
sub-delims = "!" / "$" / "&" / "'" / "(" / ")" / "*" / "+" / "," / ";" / "="
unreserved = ALPHA / DIGIT / "-" / "." / "_" / "~"
Host = *( unreserved / pct-encoded / sub-delims )
@param character A string to encode
@return character An encoded string */
|
|
|
CHARACTER EncodeHost (String)
|
/* Encodes a string per URI Host encoding rules
https://tools.ietf.org/html/rfc3986#page-11
sub-delims = "!" / "$" / "&" / "'" / "(" / ")" / "*" / "+" / "," / ";" / "="
unreserved = ALPHA / DIGIT / "-" / "." / "_" / "~"
Host = *( unreserved / pct-encoded / sub-delims )
@param String A string to encode
@return character An encoded string */
|
|
|
CHARACTER EncodePath (character)
|
/* Encodes a string per URI Path encoding rules
https://tools.ietf.org/html/rfc3986#page-11
sub-delims = "!" / "$" / "&" / "'" / "(" / ")" / "*" / "+" / "," / ";" / "="
unreserved = ALPHA / DIGIT / "-" / "." / "_" / "~"
Path = 1*( unreserved / pct-encoded / sub-delims / "@" )
@param character A string to encode
@return character An encoded string */
|
|
|
CHARACTER EncodePath (String)
|
/* Encodes a string per URI Path encoding rules
https://tools.ietf.org/html/rfc3986#page-11
sub-delims = "!" / "$" / "&" / "'" / "(" / ")" / "*" / "+" / "," / ";" / "="
unreserved = ALPHA / DIGIT / "-" / "." / "_" / "~"
Path = 1*( unreserved / pct-encoded / sub-delims / "@" )
@param String A string to encode
@return character An encoded string */
|
|
|
CHARACTER EncodeQuery ()
|
/* Encodes this URI's Query string per URI Query encoding rules.
@return character An encoded path string */
|
|
|
CHARACTER EncodeQuery (character)
|
/* Encodes a string per URI Query encoding rules
https://tools.ietf.org/html/rfc3986#page-11
sub-delims = "!" / "$" / "&" / "'" / "(" / ")" / "*" / "+" / "," / ";" / "="
pchar = unreserved / pct-encoded / sub-delims / ":" / "@"
Query = *( pchar / "/" / "?" )
@param character A string to encode
@return character An encoded string */
|
|
|
CHARACTER EncodeQuery (String)
|
/* Encodes a string per URI Query encoding rules
https://tools.ietf.org/html/rfc3986#page-11
sub-delims = "!" / "$" / "&" / "'" / "(" / ")" / "*" / "+" / "," / ";" / "="
pchar = unreserved / pct-encoded / sub-delims / ":" / "@"
Query = *( pchar / "/" / "?" )
@param String A string to encode
@return character An encoded string */
|
|
|
CHARACTER EncodeQuery (URI)
|
/* Encodes a URI's Path string per URI Path encoding rules.
This is a separate method since we store the Path whole and
so you cannot simply call EncodePath(uri:Path) since that
will encode the path delimiters that you need unencoded.
@param URI A URI whose path to encode
@return character An encoded path string */
|
|
|
CHARACTER EncodeScheme ()
|
/* Encodes this URI's scheme per URI Scheme encoding rules
@return character An encoded string */
|
|
|
CHARACTER EncodeScheme (character)
|
/* Encodes a string per URI Scheme encoding rules
https://tools.ietf.org/html/rfc3986#page-11
Scheme = ALPHA *( ALPHA / DIGIT / "+" / "-" / "." )
@param character A string to encode
@return character An encoded string */
|
|
|
CHARACTER EncodeScheme (String)
|
/* Encodes a string per URI Scheme encoding rules
https://tools.ietf.org/html/rfc3986#page-11
Scheme = ALPHA *( ALPHA / DIGIT / "+" / "-" / "." )
@param String A string to encode
@return character An encoded string */
|
|
|
CHARACTER EncodeString (character)
|
/* Encodes a string per URI Default encoding rules
https://tools.ietf.org/html/rfc3986#page-11
Default = unreserved = ALPHA / DIGIT / "-" / "." / "_" / "~"
@param character A string to encode
@return character An encoded string */
|
|
|
CHARACTER EncodeString (character, character, logical[128], logical)
|
/* Encodes a string per the input flags
@param character The string to encode
@param character The codepage of the input/source string
@param logical[128] An array of flags indicating which ASCII chars to encode
@param logical TRUE if existing % values must be reencoded as %25
@return character The encoded string */
|
|
|
CHARACTER EncodeString (String)
|
/* Encodes a string per URI Default encoding rules
https://tools.ietf.org/html/rfc3986#page-11
Default = unreserved = ALPHA / DIGIT / "-" / "." / "_" / "~"
@param String A string to encode
@return character An encoded string */
|
|
|
CHARACTER EncodeURI (URI)
|
/** Encodes a URI.
@param URI The URI to encode
@param character A character representaion of the URI */
|
|
|
CHARACTER EncodeUserinfo ()
|
/* Encodes this uri's Host per URI Host encoding rules
@return character An encoded string */
|
|
|
CHARACTER EncodeUserinfo (character)
|
/* Encodes a string per URI userinfo encoding rules
https://tools.ietf.org/html/rfc3986#page-11
sub-delims = "!" / "$" / "&" / "'" / "(" / ")" / "*" / "+" / "," / ";" / "="
unreserved = ALPHA / DIGIT / "-" / "." / "_" / "~"
Host = *( unreserved / pct-encoded / sub-delims / ":" )
@param character A string to encode
@return character An encoded string */
|
|
|
CHARACTER EncodeUserinfo (String)
|
/* Encodes a string per URI userinfo encoding rules
https://tools.ietf.org/html/rfc3986#page-11
sub-delims = "!" / "$" / "&" / "'" / "(" / ")" / "*" / "+" / "," / ";" / "="
unreserved = ALPHA / DIGIT / "-" / "." / "_" / "~"
Host = *( unreserved / pct-encoded / sub-delims / ":" )
@param String A string to encode
@return character An encoded string */
|
|
|
INTEGER GetPathSegments (character[])
|
/* Helper method to return the path as an array of segments.
@return character[] An array of path segments. */
|
|
|
OpenEdge.Core.Collections.IStringStringMap GetQueryMap ()
|
/** Gets the complete set of query names and values.
@return IStringStringMap A map of query names and values */
|
|
|
INTEGER GetQueryNames (character[])
|
/** Returns an array of query names
@param character[] An array
@return integer The number */
|
|
|
CHARACTER GetQueryValue (character)
|
/** Get a char query value from the query
@param character The query name */
|
|
|
LOGICAL HasQueryName (character)
|
/** Returns an array of query names
@param character The query name,.
@return logical TRUE if the URI has the given query string */
|
|
|
CHARACTER MergePath (character[5], character[5])
|
/* Merges a relative path into a base path, as per https://tools.ietf.org/html/rfc3986#section-5.2.3 .
@param character[5] The split base URI
@param character[5] The split relative URI
@return character The merged path */
|
|
|
OpenEdge.Net.URI Parse (character)
|
/** Parses a string containing a URI and creates a URI object from it
@param character a string URI (eg http://www.progress.com/)
@return URI A URI representation of the string. */
|
|
|
OpenEdge.Net.URI Parse (character, logical)
|
/** Parses a string containing a URI and creates a URI object from it
@param character a string URI (eg http://www.progress.com/)
@param logical TRUE if the incoming strings should be URL-decoded
@return URI A URI representation of the string. */
|
|
|
CHARACTER RemoveDotSegments (character)
|
/* Removes any dot segments in a path string, per the rules at https://tools.ietf.org/html/rfc3986#section-5.2.4
@param character The path string potentially containing "." or ".." segments
@return character The path with the "." and/or ".." segments removed and resolved */
|
|
|
LOGICAL RemoveQuery (character)
|
/* Removes a query parameter
@param character The name of the query
@return logical TRUE if the named query existed (before removal) */
|
|
|
OpenEdge.Net.URI ResolveRelativeReference (URI, character)
|
/* Resolve a relative URI reference to a base URI, as per RFC3986, at https://tools.ietf.org/html/rfc3986#section-5.2.2 .
The relative URI reference does not have to be a complete URI - it may only have certain parts of a URI (like path only,
or query only).
@param URI The base URI
@param character A string representation of a URI to merge/resolve into the base
@return URI A resolved URI */
|
|
|
SetAuthority (character, logical)
|
/* Adds a URI's authority components to this instance
@param character The authority to add
@param logical TRUE if the authority needs to be decoded */
|
|
|
SetPath (character)
|
/* Sets this URI's complete Path. This replaces the existing path.
@param character The complete to add */
|
|
|
SetPath (character[])
|
/* Sets the Path property from an array of segments.
Will %-encode the segment values
Empty/blank segments are ignored
Dotted paths are added as-is
@param character[] An array of path segments. */
|
|
|
SetQueryMap (IStringStringMap)
|
/** Sets (merges) a set of query names and values into this URI
@param IStringStringMap A map of query names and values */
|
|
|
CHARACTER Split ()
|
/* Parses this URI into its component parts.
@return character[] An array of component parts
[1] scheme (http/https)
[2] authority (host:port)
[3] path
[4] query
[5] fragment */
|
|
|
CHARACTER SplitUri (character)
|
/* Parses an potentially-URI-containing string into URI component parts.
This method will not fail, and will return empty values for an element of the
URI if the string cannot be parsed or fails to parse somehow. So if the string contains
http//example.com
the auhority will be 'example.com' and the scheme empty (since there's no :).
@param character A string URI (or part thereof)
@return character[] An array of component parts
[1] scheme (http/https)
[2] authority (host:port)
[3] path
[4] query
[5] fragment */
|
|
|
CHARACTER ToString ()
|
/** Returns a string representation of this URI
@return character The string URI */
|