Commit 0b8358c8 by Edward Thomson

net: introduce path formatting function

Introduce a function to format the path and query string for a URL,
suitable for creating an HTTP request.
parent 1152f361
...@@ -381,6 +381,18 @@ int git_net_url_fmt(git_buf *buf, git_net_url *url) ...@@ -381,6 +381,18 @@ int git_net_url_fmt(git_buf *buf, git_net_url *url)
return git_buf_oom(buf) ? -1 : 0; return git_buf_oom(buf) ? -1 : 0;
} }
int git_net_url_fmt_path(git_buf *buf, git_net_url *url)
{
git_buf_puts(buf, url->path ? url->path : "/");
if (url->query) {
git_buf_putc(buf, '?');
git_buf_puts(buf, url->query);
}
return git_buf_oom(buf) ? -1 : 0;
}
void git_net_url_dispose(git_net_url *url) void git_net_url_dispose(git_net_url *url)
{ {
if (url->username) if (url->username)
......
...@@ -48,6 +48,9 @@ extern void git_net_url_swap(git_net_url *a, git_net_url *b); ...@@ -48,6 +48,9 @@ extern void git_net_url_swap(git_net_url *a, git_net_url *b);
/** Places the URL into the given buffer. */ /** Places the URL into the given buffer. */
extern int git_net_url_fmt(git_buf *out, git_net_url *url); extern int git_net_url_fmt(git_buf *out, git_net_url *url);
/** Place the path and query string into the given buffer. */
extern int git_net_url_fmt_path(git_buf *buf, git_net_url *url);
/** Disposes the contents of the structure. */ /** Disposes the contents of the structure. */
extern void git_net_url_dispose(git_net_url *url); extern void git_net_url_dispose(git_net_url *url);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment