Ns_Url(3)

NAME
Ns_AbsoluteUrl, Ns_ParseUrl, Ns_RelativeUrl, Ns_SkipUrl - URL manipulation routines

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.

SEE ALSO
nsd(1), info(n)

KEYWORDS