MPD 0.20.6

- Main Page
- Namespaces
- Data Structures
- Files

- File List
- Globals

Data Structures | Functions
UriUtil.hxx File Reference
`#include "Compiler.h"`
`#include <string>`
Include dependency graph for UriUtil.hxx:

Go to the source code of this file.

## Data Structures
struct | UriSuffixBuffer

## Functions
gcc_pure bool | uri_has_scheme (const char *uri)
| Checks whether the specified URI has a scheme in the form "scheme://". More...
gcc_pure std::string | uri_get_scheme (const char *uri)
| Returns the scheme name of the specified URI, or an empty string. More...
gcc_pure gcc_nonnull_all const char * | uri_get_path (const char *uri)
| Returns the URI path (including the query string) or nullptr if the given URI has no path. More...
gcc_pure const char * | uri_get_suffix (const char *uri)
gcc_pure const char * | uri_get_suffix (const char *uri, UriSuffixBuffer &buffer)
| Returns the file name suffix, ignoring the query string. More...
gcc_pure bool | uri_safe_local (const char *uri)
| Returns true if this is a safe "local" URI: More...
gcc_pure std::string | uri_remove_auth (const char *uri)
| Removes HTTP username and password from the URI. More...
gcc_pure gcc_nonnull_all bool | uri_is_child (const char *parent, const char *child)
| Check whether #child specifies a resource "inside" the directory specified by #parent. More...
gcc_pure gcc_nonnull_all bool | uri_is_child_or_same (const char *parent, const char *child)
gcc_pure std::string | uri_apply_base (const std::string &uri, const std::string &base)
| Translate the given URI in the context of #base. More...

## Function Documentation

gcc_pure std::string uri_apply_base | ( | const std::string & | uri,
|  | const std::string & | base
| ) |  |

Translate the given URI in the context of #base.

For example, uri_apply_base("foo", "http://bar/a/")=="http://bar/a/foo".

gcc_pure gcc_nonnull_all const char* uri_get_path | ( | const char * | uri | ) |

Returns the URI path (including the query string) or nullptr if the given URI has no path.

gcc_pure std::string uri_get_scheme | ( | const char * | uri | ) |

Returns the scheme name of the specified URI, or an empty string.

gcc_pure const char* uri_get_suffix | ( | const char * | uri | ) |

gcc_pure const char* uri_get_suffix | ( | const char * | uri,
|  | UriSuffixBuffer & | buffer
| ) |  |

Returns the file name suffix, ignoring the query string.

gcc_pure bool uri_has_scheme | ( | const char * | uri | ) |

Checks whether the specified URI has a scheme in the form "scheme://".

gcc_pure gcc_nonnull_all bool uri_is_child | ( | const char * | parent,
|  | const char * | child
| ) |  |

Check whether #child specifies a resource "inside" the directory specified by #parent.

If the strings are equal, the function returns false.

gcc_pure gcc_nonnull_all bool uri_is_child_or_same | ( | const char * | parent,
|  | const char * | child
| ) |  |

gcc_pure std::string uri_remove_auth | ( | const char * | uri | ) |

Removes HTTP username and password from the URI.

This may be useful for displaying an URI without disclosing secrets. Returns an empty string if nothing needs to be removed, or if the URI is not recognized.

gcc_pure bool uri_safe_local | ( | const char * | uri | ) |

Returns true if this is a safe "local" URI:

- non-empty
- does not begin or end with a slash
- no double slashes
- no path component begins with a dot