cesium-native  0.41.0
CesiumUtility::Uri Class Referencefinal

Public Types

typedef std::string SubstitutionCallbackSignature(const std::string &placeholder)
 

Static Public Member Functions

static std::string resolve (const std::string &base, const std::string &relative, bool useBaseQuery=false, bool assumeHttpsDefault=true)
 
static std::string addQuery (const std::string &uri, const std::string &key, const std::string &value)
 
static std::string getQueryValue (const std::string &uri, const std::string &key)
 
static std::string substituteTemplateParameters (const std::string &templateUri, const std::function< SubstitutionCallbackSignature > &substitutionCallback)
 
static std::string escape (const std::string &s)
 Escapes a portion of a URI, percent-encoding disallowed characters. More...
 
static std::string unescape (const std::string &s)
 Unescapes a portion of a URI, decoding any percent-encoded characters. More...
 
static std::string unixPathToUriPath (const std::string &unixPath)
 Converts a Unix file system path to a string suitable for use as the path portion of a URI. Characters that are not allowed in the path portion of a URI are percent-encoded as necessary. More...
 
static std::string windowsPathToUriPath (const std::string &windowsPath)
 Converts a Windows file system path to a string suitable for use as the path portion of a URI. Characters that are not allowed in the path portion of a URI are percent-encoded as necessary. More...
 
static std::string nativePathToUriPath (const std::string &nativePath)
 Converts a file system path on the current system to a string suitable for use as the path portion of a URI. Characters that are not allowed in the path portion of a URI are percent-encoded as necessary. More...
 
static std::string uriPathToUnixPath (const std::string &uriPath)
 Converts the path portion of a URI to a Unix file system path. Percent-encoded characters in the URI are decoded. More...
 
static std::string uriPathToWindowsPath (const std::string &uriPath)
 Converts the path portion of a URI to a Windows file system path. Percent-encoded characters in the URI are decoded. More...
 
static std::string uriPathToNativePath (const std::string &uriPath)
 Converts the path portion of a URI to a file system path on the current system. Percent-encoded characters in the URI are decoded. More...
 
static std::string getPath (const std::string &uri)
 Gets the path portion of the URI. This will not include path parameters, if present. More...
 
static std::string setPath (const std::string &uri, const std::string &newPath)
 Sets the path portion of a URI to a new value. The other portions of the URI are left unmodified, including any path parameters. More...
 

Detailed Description

Definition at line 7 of file Uri.h.

Member Function Documentation

◆ escape()

static std::string CesiumUtility::Uri::escape ( const std::string &  s)
static

Escapes a portion of a URI, percent-encoding disallowed characters.

Parameters
sThe string to escape.
Returns
The escaped string.

◆ getPath()

static std::string CesiumUtility::Uri::getPath ( const std::string &  uri)
static

Gets the path portion of the URI. This will not include path parameters, if present.

Parameters
uriThe URI from which to get the path.
Returns
The path, or empty string if the URI could not be parsed.

◆ nativePathToUriPath()

static std::string CesiumUtility::Uri::nativePathToUriPath ( const std::string &  nativePath)
static

Converts a file system path on the current system to a string suitable for use as the path portion of a URI. Characters that are not allowed in the path portion of a URI are percent-encoded as necessary.

If the _WIN32 preprocessor definition is defined when compiling cesium-native, this is assumed to be a Windows-like system and this function calls windowsPathToUriPath. Otherwise, this is assumed to be a Unix-like system and this function calls unixPathToUriPath.

Parameters
nativePathThe file system path.
Returns
The URI path.

◆ setPath()

static std::string CesiumUtility::Uri::setPath ( const std::string &  uri,
const std::string &  newPath 
)
static

Sets the path portion of a URI to a new value. The other portions of the URI are left unmodified, including any path parameters.

Parameters
uriThe URI for which to set the path.
Thenew path portion of the URI.
Returns
The new URI after setting the path. If the original URI cannot be parsed, it is returned unmodified.

◆ unescape()

static std::string CesiumUtility::Uri::unescape ( const std::string &  s)
static

Unescapes a portion of a URI, decoding any percent-encoded characters.

Parameters
sThe string to unescape.
Returns
The unescaped string.

◆ unixPathToUriPath()

static std::string CesiumUtility::Uri::unixPathToUriPath ( const std::string &  unixPath)
static

Converts a Unix file system path to a string suitable for use as the path portion of a URI. Characters that are not allowed in the path portion of a URI are percent-encoded as necessary.

If the path is absolute (it starts with a slash), then the URI will start with a slash as well.

Parameters
unixPathThe file system path.
Returns
The URI path.

◆ uriPathToNativePath()

static std::string CesiumUtility::Uri::uriPathToNativePath ( const std::string &  uriPath)
static

Converts the path portion of a URI to a file system path on the current system. Percent-encoded characters in the URI are decoded.

If the _WIN32 preprocessor definition is defined when compiling cesium-native, this is assumed to be a Windows-like system and this function calls uriPathToWindowsPath. Otherwise, this is assumed to be a Unix-like system and this function calls uriPathToUnixPath.

Parameters
uriPathThe URI path.
Returns
The file system path.

◆ uriPathToUnixPath()

static std::string CesiumUtility::Uri::uriPathToUnixPath ( const std::string &  uriPath)
static

Converts the path portion of a URI to a Unix file system path. Percent-encoded characters in the URI are decoded.

If the URI path is absolute (it starts with a slash), then the file system path will start with a slash as well.

Parameters
uriPathThe URI path.
Returns
The file system path.

◆ uriPathToWindowsPath()

static std::string CesiumUtility::Uri::uriPathToWindowsPath ( const std::string &  uriPath)
static

Converts the path portion of a URI to a Windows file system path. Percent-encoded characters in the URI are decoded.

If the URI path is absolute (it starts with a slash), then the file system path will start with a slash or a drive letter.

Parameters
uriPathThe URI path.
Returns
The file system path.

◆ windowsPathToUriPath()

static std::string CesiumUtility::Uri::windowsPathToUriPath ( const std::string &  windowsPath)
static

Converts a Windows file system path to a string suitable for use as the path portion of a URI. Characters that are not allowed in the path portion of a URI are percent-encoded as necessary.

Either / or \ may be used as a path separator on input, but the output will contain only /.

If the path is absolute (it starts with a slash or with C:\ or similar), then the URI will start with a slash well.

Parameters
windowsPathThe file system path.
Returns
The URI path.

The documentation for this class was generated from the following file: