summaryrefslogtreecommitdiff
path: root/utils/url.h
diff options
context:
space:
mode:
Diffstat (limited to 'utils/url.h')
-rw-r--r--utils/url.h14
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);