Ns_AbsoluteUrl(3) URL manipulation routines

Other Alias

Ns_ParseUrl, Ns_RelativeUrl, Ns_SkipUrl

SYNOPSIS

#include "ns.h"



int
Ns_AbsoluteUrl(Ns_DString *pds, char *url, char *baseurl)


int
Ns_ParseUrl(char *url, char **pprotocol, char **phost,
char **pport, char **ppath, char **ptail
)


char *
Ns_RelativeUrl(char *url, char *location)


char *
Ns_SkipUrl(Ns_Request *request, int n)



DESCRIPTION

Ns_AbsoluteUrl(pds, url, baseurl)

Construct an URL based on baseurl but with as many parts of the incomplete url as possible. Return NS_OK or NS_ERROR.

Ns_ParseUrl(url, pprotocol, phost, pport, ppath, ptail)

Parse a URL into its component parts. Pointers to the protocol, host, port, path, and "tail" (last path element) will be set by reference in the passed-in pointers. The passed-in url will be modified.

Ns_RelativeUrl(url, location)

If the url passed in is for this server, then the initial part of the URL is stripped off. e.g., on a server whose location is http://www.foo.com, Ns_RelativeUrl of "http://www.foo.com/hello" will return "/hello". Returns a pointer to the beginning of the relative url in the passed-in url, or NULL if error. Will set errno on error.

Ns_SkipUrl(request, n)

Return a pointer n elements into the request's url.

KEYWORDS