websUrlParse | GoAhead WebServer API | GoAhead EMF
## Synopsis Parse a URL into its component parts. ## Prototype
     #include "webs.h"

     int websUrlParse(char_t *url, char_t **buf, char_t **host,
            char_t **path, char_t **port, char_t **query,
            char_t **proto, char_t **tag, char_t **ext);
## Parameters
url | Source URL to parse.
buf | Pointer to buffer used to hold the parsed components.
host | Host name.
path | URL path portion after the host name and optional port.
query | Optional query string portion after "?" .
proto | Protocol. Usually "http".
tag | Optional tag portion after "#".
ext | Document file name extension.
## Description The websUrlParse procedure cracks the URL into its constituent components. To store the parts, websUrlParse allocates a dynamic buffer. This must eventually be freed via bfree by the caller. websUrlParse stores pointers to the URL components in host, path, port, query, proto, tag and ext. If any of these parameters contains NULL, that component is ignored. Note: Tag parsing is not fully supported. ## Return Value Returns 0 if successful. Returns -1 if memory cannot be allocated to hold the results. ## Example
     char_t *host, *port, *buf;
    websUrlParse(url, &buf, &host, NULL, &port, NULL, NULL, NULL, NULL);
## Stability Classification Stable. ## See Also balloc, bfree, websUrlType