Namespace: OpenEdge.Net
Class
URI
Parent classes:
Progress.Lang.Object

Inherits: Progress.Lang.Object

Copyright (c) 2014-2019, 2021-2022 by Progress Software Corporation. All rights reserved.
File:URI
Purpose:A generic URI object, useful for making request over a network
Author(s):pjudge
Created:Wed Dec 18 13:02:50 EST 2013
Notes:* W3C spec at http://tools.ietf.org/html/rfc3986
/* The _PART are the indexes for the URI parts produced by the SplitUri() method




Method Summary
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 QueryParams entry. Equivalent to calling AddQuery(pcname, ?). @param character The query parameter name */
AddQuery (character, character) /** Adds a query argument (name/value pair) @param character The query parameter name @param character The query parameter 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 */
OpenEdge.Core.Collections.IStringStringMap ConvertToQueryMap (IStringKeyedMap) /** Convert a QueryParams (StringKeyedMap) to the legacy QueryMap (StringStringMap) structure @param IStringKeyedMap A QueryParams structured object @return IStringStringMap A QueryMap compatible object */
OpenEdge.Core.Collections.IStringKeyedMap ConvertToQueryParams (IStringStringMap) /** Convert a legacy QueryMap (StringStringMap) to the QueryParams (StringKeyedMap) structure @param IStringStringMap A QueryMap structured object @return IStringKeyedMap A QueryParams compatible object */
CHARACTER Decode () /** Attempts to decode a previously-encoded URL. See OpenEdge.Net.UriEncoder for details. @return character A decoded URL */
CHARACTER Decode (character) /** Attempts to decode a previously percent-encoded string. See OpenEdge.Net.UriEncoder for details. @param character The string to decode @return character A decoded URL @throws AppError If the encoding is malformed */
CHARACTER Decode (String) /** Attempts to decode a previously percent-encoded string. See OpenEdge.Net.UriEncoder for details. @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. See OpenEdge.Net.UriEncoder for details. @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. See OpenEdge.Net.UriEncoder for details. @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. See OpenEdge.Net.UriEncoder for details. @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. See OpenEdge.Net.UriEncoder for details. @param String A string to encode @return character An encoded string */
CHARACTER EncodeFragment () /* Encodes this URI's Fragment per URI Fragment encoding rules See OpenEdge.Net.UriEncoder for details. @return character An encoded string */
CHARACTER EncodeFragment (character) /* Encodes a string per URI Fragment encoding rules See OpenEdge.Net.UriEncoder for details. @param character A string to encode @return character An encoded string */
CHARACTER EncodeFragment (String) /* Encodes a string per URI Fragment encoding rules See OpenEdge.Net.UriEncoder for details. @param String A string to encode @return character An encoded string */
CHARACTER EncodeHost () /* Encodes this uri's Host per URI Host encoding rules See OpenEdge.Net.UriEncoder for details. @return character An encoded string */
CHARACTER EncodeHost (character) /* Encodes a string per URI Host encoding rules See OpenEdge.Net.UriEncoder for details. @param character A string to encode @return character An encoded string */
CHARACTER EncodeHost (String) /* Encodes a string per URI Host encoding rules See OpenEdge.Net.UriEncoder for details. @param String A string to encode @return character An encoded string */
CHARACTER EncodePath (character) /* Encodes a string per URI Path encoding rules See OpenEdge.Net.UriEncoder for details. @param character A string to encode @return character An encoded string */
CHARACTER EncodePath (String) /* Encodes a string per URI Path encoding rules See OpenEdge.Net.UriEncoder for details. @param String A string to encode @return character An encoded string */
CHARACTER EncodeQuery () /* Encodes this URI's Query string per URI Query encoding rules. See OpenEdge.Net.UriEncoder for details. @return character An encoded path string */
CHARACTER EncodeQuery (character) /* Encodes a string per URI Query encoding rules See OpenEdge.Net.UriEncoder for details. @param character A string to encode @return character An encoded string */
CHARACTER EncodeQuery (String) /* Encodes a string per URI Query encoding rules See OpenEdge.Net.UriEncoder for details. @param String A string to encode @return character An encoded string */
CHARACTER EncodeQuery (URI) /* Encodes a URI's Query string per URI Query encoding rules. See OpenEdge.Net.UriEncoder for details. @param URI A URI whose query string to encode @return character An encoded query string */
CHARACTER EncodeScheme () /* Encodes this URI's scheme per URI Scheme encoding rules See OpenEdge.Net.UriEncoder for details. @return character An encoded string */
CHARACTER EncodeScheme (character) /* Encodes a string per URI Scheme encoding rules See OpenEdge.Net.UriEncoder for details. @param character A string to encode @return character An encoded string */
CHARACTER EncodeScheme (String) /* Encodes a string per URI Scheme encoding rules See OpenEdge.Net.UriEncoder for details. @param String A string to encode @return character An encoded string */
CHARACTER EncodeString (character) /* Encodes a string per URI Default encoding rules See OpenEdge.Net.UriEncoder for details. @param character A string to encode @return character An encoded string */
CHARACTER EncodeString (String) /* Encodes a string per URI Default encoding rules See OpenEdge.Net.UriEncoder for details. @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 See OpenEdge.Net.UriEncoder for details. @return character An encoded string */
CHARACTER EncodeUserinfo (character) /* Encodes a string per URI userinfo encoding rules. See OpenEdge.Net.UriEncoder for details. @param character A string to encode @return character An encoded string */
CHARACTER EncodeUserinfo (String) /* Encodes a string per URI userinfo encoding rules See OpenEdge.Net.UriEncoder for details. @param String A string to encode @return character An encoded string */
LOGICAL Equals (Object)
INTEGER GetPathSegments (character[]) /* Helper method to return the path as an array of segments. @param character[] A character extent of path segments @return integer The count of path segments */
OpenEdge.Core.Collections.IStringStringMap GetQueryMap () /** [Deprecated] Gets the complete set of query names and values. The map returned is a new mapping of this URI's query params (as string values) @return IStringStringMap A map of query names and values (as longchar's) */
INTEGER GetQueryNames (character[]) /** Returns an array of query names @param character[] A character extent of query names @return integer The count of query names */
OpenEdge.Core.Collections.IStringKeyedMap GetQueryParams () /** Gets the complete set of query names and values. The map returned is a deep copy/clone of this URI's query params (List<String>) @return IStringKeyedMap A map of query names and values (as List<String>) */
CHARACTER GetQueryValue (character) /** Get a character value from the query Deprecated, use GetQueryValues to return all potential query values @param character The query parameter name @return character The query value (decoded) */
INTEGER GetQueryValueCount (character) /** Returns a count of query values for a given parameter name @param character The query parameter name @return integer The count of query parameter values */
GetQueryValueList (character) /** Get all character values from the query @param character The query parameter name @return List<String> The query values as a List<String> object */
CHARACTER GetQueryValues (character) /** Get all character values from the query @param character The query parameter name @return character[] The query values (decoded) as an extent */
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 (object) 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 (object) 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 and its value(s) @param character The name of the query parameter @return logical TRUE if the named query parameter 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, replacing 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 (as longchar's) */
SetQueryParams (IStringKeyedMap) /** Sets (merges) a set of query names and values into this URI Does not perform a check for duplicates among parameter values! @param IStringKeyedMap A map of query names and values (array of String objects) */
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 */

Constructor Summary
Options Name Purpose
URI () /* Static constructor */
URI (character) /** Constructor. Defaults to HTTP scheme. @param character The host name. */
URI (character, character) /** Constructor. @param character The scheme for this URI. @param character The host name. */
URI (character, character, character, character, character) /** Constructor. @param character The scheme for this URI @param character The authority (contains at least host, and potentially port, user, passwd) @param character The path @param character The query string @param character The fragment */
URI (character, character, integer) /** Constructor. @param character The scheme for this URI. @param character The host name. @param integer The port to use. */
URI (character, character, integer, character, IStringKeyedMap, character) /** Constructor. @param character The scheme for this URI. @param character The host name. @param integer The port to use. @param character The path @param IStringKeyedMap the QueryParams arguments @param character The fragment, if any */
URI (character, character, integer, character, IStringStringMap, character) /** Constructor [Deprecated]. @param character The scheme for this URI. @param character The host name. @param integer The port to use. @param character The path @param IStringStringMap the (deprecated) QueryMap arguments @param character The fragment, if any */

Property Summary
Options Name Purpose
INTEGER AUTHORITY_PART_IDX
CHARACTER BaseURI
OpenEdge.Net.UriEncoder Encoder
CHARACTER Fragment
INTEGER FRAGMENT_PART_IDX
CHARACTER Host
CHARACTER Password
CHARACTER Path
INTEGER PATH_PART_IDX
INTEGER Port
OpenEdge.Core.Collections.IStringStringMap QueryMap
CHARACTER QueryString
INTEGER QUERY_PART_IDX
CHARACTER RelativeURI
CHARACTER Scheme
INTEGER SCHEME_PART_IDX
CHARACTER User


Method Detail
Top

AddPathSegment (character)

/* Adds/appends a segment to the Path property
Will %-encode the segment value
Empty/blank segments are ignored
Parameters:
pcSegment CHARACTER
Top

AddQuery (character)

Purpose: Adds a name-only QueryParams entry. Equivalent to calling AddQuery(pcname, ?).
Parameters:
pcName CHARACTER
Top

AddQuery (character, character)

Purpose: Adds a query argument (name/value pair)
Parameters:
pcName CHARACTER
pcValue CHARACTER
Top

AddQueryString (character, logical)

Purpose: Parses a string containing a URI's QUERY and adds it to this URI
Parameters:
pQuery CHARACTER
pDecode LOGICAL
Top

BuildUri ()

/* Constructs a string representation
Top

OpenEdge.Core.Collections.IStringStringMap ConvertToQueryMap (IStringKeyedMap)

Purpose: Convert a QueryParams (StringKeyedMap) to the legacy QueryMap (StringStringMap) structure
Parameters:
pQueryParams OpenEdge.Core.Collections.IStringKeyedMap
Returns OpenEdge.Core.Collections.IStringStringMap
IStringStringMap A QueryMap compatible object
Top

OpenEdge.Core.Collections.IStringKeyedMap ConvertToQueryParams (IStringStringMap)

Purpose: Convert a legacy QueryMap (StringStringMap) to the QueryParams (StringKeyedMap) structure
Parameters:
pQueryMap OpenEdge.Core.Collections.IStringStringMap
Returns OpenEdge.Core.Collections.IStringKeyedMap
IStringKeyedMap A QueryParams compatible object
Top

CHARACTER Decode ()

Purpose: Attempts to decode a previously-encoded URL.
See OpenEdge.Net.UriEncoder for details.
Returns CHARACTER
character A decoded URL
Top

CHARACTER Decode (character)

Purpose: Attempts to decode a previously percent-encoded string.
See OpenEdge.Net.UriEncoder for details.
@throws AppError If the encoding is malformed
Parameters:
pcEncodedString CHARACTER
Returns CHARACTER
character A decoded URL
Top

CHARACTER Decode (String)

Purpose: Attempts to decode a previously percent-encoded string.
See OpenEdge.Net.UriEncoder for details.
@throws AppError If the encoding is malformed
Parameters:
pString OpenEdge.Core.String
Returns CHARACTER
Top

CHARACTER Encode ()

Purpose: Encodes this URI
Returns CHARACTER
character An encoded version of the URI
Top

CHARACTER Encode (character, UriEncodingTypeEnum)

Purpose: Encodes a string for a particular purpose. Usage of Encode<encoding-type> is recommended.
The method does NOT re-encode % characters.
See OpenEdge.Net.UriEncoder for details.
Parameters:
pcString CHARACTER
poEncodingType OpenEdge.Net.UriEncodingTypeEnum
Returns CHARACTER
character the encoded string
Top

CHARACTER Encode (character, UriEncodingTypeEnum, logical)

Purpose: Encodes a string for a particular purpose. Usage of Encode<encoding-type> is recommended,
unless the re-encoding of % characters is desired.
See OpenEdge.Net.UriEncoder for details.
Parameters:
pString CHARACTER
pEncodingType OpenEdge.Net.UriEncodingTypeEnum
pReEncode LOGICAL
Returns CHARACTER
character the encoded string
Top

CHARACTER Encode (URI)

Purpose: Encodes a URI.
Parameters:
poURI OpenEdge.Net.URI
Returns CHARACTER
Top

CHARACTER EncodeCookie (character)

/* Encodes a string per Cookie encoding rules. This method is here for historical reasons.
See OpenEdge.Net.UriEncoder for details.
Parameters:
pcString CHARACTER
Returns CHARACTER
character An encoded string
Top

CHARACTER EncodeCookie (String)

/* Encodes a string per Cookie encoding rules. This method is here for historical reasons.
See OpenEdge.Net.UriEncoder for details.
Parameters:
pString OpenEdge.Core.String
Returns CHARACTER
character An encoded string
Top

CHARACTER EncodeFragment ()

/* Encodes this URI's Fragment per URI Fragment encoding rules
See OpenEdge.Net.UriEncoder for details.
Returns CHARACTER
character An encoded string
Top

CHARACTER EncodeFragment (character)

/* Encodes a string per URI Fragment encoding rules
See OpenEdge.Net.UriEncoder for details.
Parameters:
pcString CHARACTER
Returns CHARACTER
character An encoded string
Top

CHARACTER EncodeFragment (String)

/* Encodes a string per URI Fragment encoding rules
See OpenEdge.Net.UriEncoder for details.
Parameters:
pString OpenEdge.Core.String
Returns CHARACTER
character An encoded string
Top

CHARACTER EncodeHost ()

/* Encodes this uri's Host per URI Host encoding rules
See OpenEdge.Net.UriEncoder for details.
Returns CHARACTER
character An encoded string
Top

CHARACTER EncodeHost (character)

/* Encodes a string per URI Host encoding rules
See OpenEdge.Net.UriEncoder for details.
Parameters:
pcString CHARACTER
Returns CHARACTER
character An encoded string
Top

CHARACTER EncodeHost (String)

/* Encodes a string per URI Host encoding rules
See OpenEdge.Net.UriEncoder for details.
Parameters:
pString OpenEdge.Core.String
Returns CHARACTER
character An encoded string
Top

CHARACTER EncodePath (character)

/* Encodes a string per URI Path encoding rules
See OpenEdge.Net.UriEncoder for details.
Parameters:
pcString CHARACTER
Returns CHARACTER
character An encoded string
Top

CHARACTER EncodePath (String)

/* Encodes a string per URI Path encoding rules
See OpenEdge.Net.UriEncoder for details.
Parameters:
pString OpenEdge.Core.String
Returns CHARACTER
character An encoded string
Top

CHARACTER EncodeQuery ()

/* Encodes this URI's Query string per URI Query encoding rules.
See OpenEdge.Net.UriEncoder for details.
Returns CHARACTER
character An encoded path string
Top

CHARACTER EncodeQuery (character)

/* Encodes a string per URI Query encoding rules
See OpenEdge.Net.UriEncoder for details.
Parameters:
pcString CHARACTER
Returns CHARACTER
character An encoded string
Top

CHARACTER EncodeQuery (String)

/* Encodes a string per URI Query encoding rules
See OpenEdge.Net.UriEncoder for details.
Parameters:
pString OpenEdge.Core.String
Returns CHARACTER
character An encoded string
Top

CHARACTER EncodeQuery (URI)

/* Encodes a URI's Query string per URI Query encoding rules.
See OpenEdge.Net.UriEncoder for details.
Parameters:
poURI OpenEdge.Net.URI
Returns CHARACTER
character An encoded query string
Top

CHARACTER EncodeScheme ()

/* Encodes this URI's scheme per URI Scheme encoding rules
See OpenEdge.Net.UriEncoder for details.
Returns CHARACTER
character An encoded string
Top

CHARACTER EncodeScheme (character)

/* Encodes a string per URI Scheme encoding rules
See OpenEdge.Net.UriEncoder for details.
Parameters:
pcString CHARACTER
Returns CHARACTER
character An encoded string
Top

CHARACTER EncodeScheme (String)

/* Encodes a string per URI Scheme encoding rules
See OpenEdge.Net.UriEncoder for details.
Parameters:
pString OpenEdge.Core.String
Returns CHARACTER
character An encoded string
Top

CHARACTER EncodeString (character)

/* Encodes a string per URI Default encoding rules
See OpenEdge.Net.UriEncoder for details.
Parameters:
pcString CHARACTER
Returns CHARACTER
character An encoded string
Top

CHARACTER EncodeString (String)

/* Encodes a string per URI Default encoding rules
See OpenEdge.Net.UriEncoder for details.
Parameters:
pString OpenEdge.Core.String
Returns CHARACTER
character An encoded string
Top

CHARACTER EncodeURI (URI)

Purpose: Encodes a URI.
Parameters:
poURI OpenEdge.Net.URI
Returns CHARACTER
Top

CHARACTER EncodeUserinfo ()

/* Encodes this uri's Host per URI Host encoding rules
See OpenEdge.Net.UriEncoder for details.
Returns CHARACTER
character An encoded string
Top

CHARACTER EncodeUserinfo (character)

/* Encodes a string per URI userinfo encoding rules.
See OpenEdge.Net.UriEncoder for details.
Parameters:
pcString CHARACTER
Returns CHARACTER
character An encoded string
Top

CHARACTER EncodeUserinfo (String)

/* Encodes a string per URI userinfo encoding rules
See OpenEdge.Net.UriEncoder for details.
Parameters:
pString OpenEdge.Core.String
Returns CHARACTER
character An encoded string
Top

LOGICAL Equals (Object)

Parameters:
pCompare Progress.Lang.Object
Returns LOGICAL
Top

INTEGER GetPathSegments (character[])

/* Helper method to return the path as an array of segments.
Parameters:
pSegments CHARACTER
Returns INTEGER
integer The count of path segments
Top

OpenEdge.Core.Collections.IStringStringMap GetQueryMap ()

Purpose: [Deprecated] Gets the complete set of query names and values. The map returned is
a new mapping of this URI's query params (as string values)
Returns OpenEdge.Core.Collections.IStringStringMap
IStringStringMap A map of query names and values (as longchar's)
Top

INTEGER GetQueryNames (character[])

Purpose: Returns an array of query names
Parameters:
pcNames CHARACTER
Returns INTEGER
integer The count of query names
Top

OpenEdge.Core.Collections.IStringKeyedMap GetQueryParams ()

Purpose: Gets the complete set of query names and values. The map returned is
a deep copy/clone of this URI's query params (List<String>)
Returns OpenEdge.Core.Collections.IStringKeyedMap
IStringKeyedMap A map of query names and values (as List<String>)
Top

CHARACTER GetQueryValue (character)

Purpose: Get a character value from the query
Deprecated, use GetQueryValues to return all potential query values
Parameters:
pcName CHARACTER
Returns CHARACTER
character The query value (decoded)
Top

INTEGER GetQueryValueCount (character)

Purpose: Returns a count of query values for a given parameter name
Parameters:
pcName CHARACTER
Returns INTEGER
integer The count of query parameter values
Top

GetQueryValueList (character)

Purpose: Get all character values from the query
Parameters:
pcName CHARACTER
Top

CHARACTER GetQueryValues (character)

Purpose: Get all character values from the query
Parameters:
pcName CHARACTER
Returns CHARACTER
character[] The query values (decoded) as an extent
Top

LOGICAL HasQueryName (character)

Purpose: Returns an array of query names
Parameters:
pName CHARACTER
Returns LOGICAL
logical TRUE if the URI has the given query string
Top

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 .
Parameters:
pBaseURI CHARACTER
pRelURI CHARACTER
Returns CHARACTER
character The merged path
Top

OpenEdge.Net.URI Parse (character)

Purpose: Parses a string containing a URI and creates a URI object from it
Parameters:
pcURI CHARACTER
Returns OpenEdge.Net.URI
URI A URI (object) representation of the string.
Top

OpenEdge.Net.URI Parse (character, logical)

Purpose: Parses a string containing a URI and creates a URI object from it
Parameters:
pcURI CHARACTER
pDecode LOGICAL
Returns OpenEdge.Net.URI
URI A URI (object) representation of the string.
Top

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
Parameters:
pInputBuffer CHARACTER
Returns CHARACTER
character The path with the "." and/or ".." segments removed and resolved
Top

LOGICAL RemoveQuery (character)

/* Removes a query parameter and its value(s)
Parameters:
pcName CHARACTER
Returns LOGICAL
logical TRUE if the named query parameter existed (before removal)
Top

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).
Parameters:
pBaseUri OpenEdge.Net.URI
pRelativeRef CHARACTER
Returns OpenEdge.Net.URI
URI A resolved URI
Top

SetAuthority (character, logical)

/* Adds a URI's authority components to this instance
Parameters:
pAuthority CHARACTER
pDecode LOGICAL
Top

SetPath (character)

/* Sets this URI's complete Path, replacing the existing path.
Parameters:
pPath CHARACTER
Top

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
Parameters:
pcSegments CHARACTER
Top

SetQueryMap (IStringStringMap)

Purpose: Sets (merges) a set of query names and values into this URI
Parameters:
pQueryMap OpenEdge.Core.Collections.IStringStringMap
Top

SetQueryParams (IStringKeyedMap)

Purpose: Sets (merges) a set of query names and values into this URI
Does not perform a check for duplicates among parameter values!
Parameters:
pQueryParams OpenEdge.Core.Collections.IStringKeyedMap
Top

CHARACTER Split ()

/* Parses this URI into its component parts.
[1] scheme (http/https)
[2] authority (host:port)
[3] path
[4] query
[5] fragment
Returns CHARACTER
character[] An array of component parts
Top

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 :).
[1] scheme (http/https)
[2] authority (host:port)
[3] path
[4] query
[5] fragment
Parameters:
pData CHARACTER
Returns CHARACTER
character[] An array of component parts
Top

CHARACTER ToString ()

Purpose: Returns a string representation of this URI
Returns CHARACTER
character The string URI


Constructor Detail
Top

STATIC URI ()

/* Static constructor
Top

URI (character)

Purpose: Constructor. Defaults to HTTP scheme.
Parameters:
pcHost CHARACTER
Top

URI (character, character)

Purpose: Constructor.
Parameters:
pcScheme CHARACTER
pcHost CHARACTER
Top

URI (character, character, character, character, character)

Purpose: Constructor.
Parameters:
pScheme CHARACTER
pAuthority CHARACTER
pPath CHARACTER
pQuery CHARACTER
pFragment CHARACTER
Top

URI (character, character, integer)

Purpose: Constructor.
Parameters:
pcScheme CHARACTER
pcHost CHARACTER
piPort INTEGER
Top

URI (character, character, integer, character, IStringKeyedMap, character)

Purpose: Constructor.
Parameters:
pcScheme CHARACTER
pcHost CHARACTER
piPort INTEGER
pcPath CHARACTER
poQueryParams OpenEdge.Core.Collections.IStringKeyedMap
pcFragment CHARACTER
Top

URI (character, character, integer, character, IStringStringMap, character)

Purpose: Constructor [Deprecated].
Parameters:
pcScheme CHARACTER
pcHost CHARACTER
piPort INTEGER
pcPath CHARACTER
poQueryMap OpenEdge.Core.Collections.IStringStringMap
pcFragment CHARACTER


Property Detail
Top

INTEGER AUTHORITY_PART_IDX

Returns INTEGER
Top

CHARACTER BaseURI

Returns CHARACTER
Top

OpenEdge.Net.UriEncoder Encoder

Returns OpenEdge.Net.UriEncoder
Top

CHARACTER Fragment

Returns CHARACTER
Top

INTEGER FRAGMENT_PART_IDX

Returns INTEGER
Top

CHARACTER Host

Returns CHARACTER
Top

CHARACTER Password

Returns CHARACTER
Top

CHARACTER Path

Returns CHARACTER
Top

INTEGER PATH_PART_IDX

Returns INTEGER
Top

INTEGER Port

Returns INTEGER
Top

OpenEdge.Core.Collections.IStringStringMap QueryMap

Returns OpenEdge.Core.Collections.IStringStringMap
Top

CHARACTER QueryString

Returns CHARACTER
Top

INTEGER QUERY_PART_IDX

Returns INTEGER
Top

CHARACTER RelativeURI

Returns CHARACTER
Top

CHARACTER Scheme

Returns CHARACTER
Top

INTEGER SCHEME_PART_IDX

Returns INTEGER
Top

CHARACTER User

Returns CHARACTER


Copyright © 2022 Progress Software Corporation. All rights Reserved.

Progress® OpenEdge® Release 12.6.0