#include <sockets.h>

Public Member Functions | |
| URL (const char *url) | |
| bool | parse_url (const char *str, const char *default_port="80") |
Public Attributes | |
| string | _scheme |
| string | _hostname |
| string | _port |
| string | _path |
Definition at line 38 of file sockets.h.
| URL::URL | ( | const char * | url ) | [inline] |
Definition at line 40 of file sockets.h.
References parse_url().
{
parse_url(url);
}

| bool URL::parse_url | ( | const char * | str, |
| const char * | default_port = "80" |
||
| ) | [inline] |
Definition at line 50 of file sockets.h.
References _hostname, _path, _port, and _scheme.
Referenced by URL().
{
if (!str || !*str)
return false;
const char* p1 = strstr(str, "://");
if (p1) {
_scheme.assign(str, p1-str);
p1 += 3;
} else
p1 = str;
const char* p2 = strchr(p1, ':');
const char* p3 = p2? strchr(p2+1, '/'): p2;
if (p2) {
_hostname.assign(p1, p2-p1);
_port.assign(p2+1, p3-(p2+1));
_path = p3;
} else {
_hostname = p1;
_port = default_port;
_path.erase();
}
if (_path.empty())
_path = "/";
return true;
}

| string URL::_hostname |
Definition at line 46 of file sockets.h.
Referenced by parse_url(), and HttpServer::register_url().
| string URL::_path |
Definition at line 48 of file sockets.h.
Referenced by parse_url(), HttpServer::register_url(), and HttpServer::unregister_url().
| string URL::_port |
Definition at line 47 of file sockets.h.
Referenced by parse_url(), and HttpServer::register_url().
| string URL::_scheme |
Definition at line 45 of file sockets.h.
Referenced by parse_url().
1.7.2