diff options
Diffstat (limited to 'utils/url.h')
-rw-r--r-- | utils/url.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/utils/url.h b/utils/url.h index 388a4b73d..d61526d66 100644 --- a/utils/url.h +++ b/utils/url.h @@ -19,6 +19,15 @@ typedef enum { URL_FUNC_FAILED /**< Non fatal error (eg failed to match regex) */ } url_func_result; +struct url_components { + const char *buffer; + const char *scheme; + const char *authority; + const char *path; + const char *query; + const char *fragment; +}; + void url_init(void); url_func_result url_normalize(const char *url, char **result); url_func_result url_join(const char *rel, const char *base, char **result); @@ -34,6 +43,11 @@ url_func_result url_path(const char *url, char **result); url_func_result url_compare(const char *url1, const char *url2, bool *result); +url_func_result url_get_components(const char *url, + struct url_components *result); +char *url_reform_components(const struct url_components *components); +void url_destroy_components(const struct url_components *components); + char *path_to_url(const char *path); char *url_to_path(const char *url); |