Panda3D
Public Member Functions | Static Public Member Functions

URLSpec Class Reference

A container for a URL, e.g. More...

List of all members.

Public Member Functions

 URLSpec ()
 URLSpec (URLSpec const copy)
 URLSpec (string url)
 URLSpec (string url, bool server_name_expected)
int compareTo (URLSpec const other)
 Returns a number less than zero if this URLSpec sorts before the other one, greater than zero if it sorts after, or zero if they are equivalent.
string cStr ()
bool empty ()
string getAuthority ()
 Returns the authority specified by the URL (this includes username, server, and/or port), or empty string if no authority is specified.
string getPath ()
 Returns the path specified by the URL, or "/" if no path is specified.
string getPathAndQuery ()
 Returns the path (or "/" if no path is specified), followed by the query if it is specified.
int getPort ()
 Returns the port number specified by the URL, or the default port if not specified.
string getPortStr ()
 Returns the port specified by the URL as a string, or the empty string if no port is specified.
string getQuery ()
 Returns the query specified by the URL, or empty string if no query is specified.
string getScheme ()
 Returns the scheme specified by the URL, or empty string if no scheme is specified.
string getServer ()
 Returns the server name specified by the URL, if any.
string getServerAndPort ()
 Returns a string consisting of the server name, followed by a colon, followed by the port number.
string getUrl ()
 Returns the complete URL specification.
string getUsername ()
 Returns the username specified by the URL, if any.
bool hasAuthority ()
 Returns true if the URL specifies an authority (this includes username, server, and/or port), false otherwise.
bool hasPath ()
 Returns true if the URL includes a path specification (that is, the particular filename on the server to retrieve), false otherwise.
bool hasPort ()
 Returns true if the URL specifies a port number, false otherwise.
bool hasQuery ()
 Returns true if the URL includes a query specification, false otherwise.
bool hasScheme ()
 Returns true if the URL specifies a scheme (e.g.
bool hasServer ()
 Returns true if the URL specifies a server name, false otherwise.
bool hasUsername ()
 Returns true if the URL specifies a username (and/or password), false otherwise.
bool input (istream in)
bool isDefaultPort ()
 Returns true if the port number encoded in this URL is the default port number for the scheme (or if there is no port number), or false if it is a nonstandard port.
bool isSsl ()
 Returns true if the URL's scheme specifies an SSL-secured protocol such as https, or false otherwise.
unsigned int length ()
bool operator!= (URLSpec const other)
bool operator< (URLSpec const other)
URLSpec operator= (URLSpec const copy)
URLSpec operator= (string url)
bool operator== (URLSpec const other)
char operator[] (int n)
 output (ostream out)
 setAuthority (string authority)
 Replaces the authority part of the URL specification.
 setPath (string path)
 Replaces the path part of the URL specification.
 setPort (string port)
 Replaces the port part of the URL specification.
 setPort (int port)
 Replaces the port part of the URL specification, given a numeric port number.
 setQuery (string query)
 Replaces the query part of the URL specification.
 setScheme (string scheme)
 Replaces the scheme part of the URL specification.
 setServer (string server)
 Replaces the server part of the URL specification.
 setServerAndPort (string server_and_port)
 Replaces the server and port parts of the URL specification simultaneously.
 setUrl (string url, bool server_name_expected)
 Completely replaces the URL with the indicated string.
 setUrl (string url)
 Completely replaces the URL with the indicated string.
 setUsername (string username)
 Replaces the username part of the URL specification.

Static Public Member Functions

static int getDefaultPortForScheme (string scheme)
 Returns the default port number for the indicated scheme, or 0 if there is no known default.
static string quote (string source, string safe)
 Returns the source string with all "unsafe" characters quoted, making a string suitable for placing in a URL.
static string quote (string source)
 Returns the source string with all "unsafe" characters quoted, making a string suitable for placing in a URL.
static string quotePlus (string source)
 Behaves like quote() with the additional behavior of replacing spaces with plus signs.
static string quotePlus (string source, string safe)
 Behaves like quote() with the additional behavior of replacing spaces with plus signs.
static string unquote (string source)
 Reverses the operation of quote(): converts escaped characters of the form "%xx" to their ascii equivalent.
static string unquotePlus (string source)
 Reverses the operation of quote_plus(): converts escaped characters of the form "%xx" to their ascii equivalent, and also converts plus signs to spaces.

Detailed Description

A container for a URL, e.g.

"http://server:port/path".

The URLSpec object is similar to a Filename in that it contains logic to identify the various parts of a URL and return (or modify) them separately.


Constructor & Destructor Documentation

URLSpec ( )
URLSpec ( URLSpec const  copy)
URLSpec ( string  url,
bool  server_name_expected 
)
URLSpec ( string  url)

Member Function Documentation

int compareTo ( URLSpec const  other)

Returns a number less than zero if this URLSpec sorts before the other one, greater than zero if it sorts after, or zero if they are equivalent.

string cStr ( )
bool empty ( )
string getAuthority ( )

Returns the authority specified by the URL (this includes username, server, and/or port), or empty string if no authority is specified.

static int getDefaultPortForScheme ( string  scheme) [static]

Returns the default port number for the indicated scheme, or 0 if there is no known default.

string getPath ( )

Returns the path specified by the URL, or "/" if no path is specified.

string getPathAndQuery ( )

Returns the path (or "/" if no path is specified), followed by the query if it is specified.

int getPort ( )

Returns the port number specified by the URL, or the default port if not specified.

string getPortStr ( )

Returns the port specified by the URL as a string, or the empty string if no port is specified.

Compare this with get_port(), which returns a default port number if no port is specified.

string getQuery ( )

Returns the query specified by the URL, or empty string if no query is specified.

string getScheme ( )

Returns the scheme specified by the URL, or empty string if no scheme is specified.

string getServer ( )

Returns the server name specified by the URL, if any.

string getServerAndPort ( )

Returns a string consisting of the server name, followed by a colon, followed by the port number.

If the port number is not explicitly given in the URL, this string will include the implicit port number.

string getUrl ( )

Returns the complete URL specification.

string getUsername ( )

Returns the username specified by the URL, if any.

This might also include a password, e.g. "username:password", although putting a password on the URL is probably a bad idea.

bool hasAuthority ( )

Returns true if the URL specifies an authority (this includes username, server, and/or port), false otherwise.

bool hasPath ( )

Returns true if the URL includes a path specification (that is, the particular filename on the server to retrieve), false otherwise.

bool hasPort ( )

Returns true if the URL specifies a port number, false otherwise.

bool hasQuery ( )

Returns true if the URL includes a query specification, false otherwise.

bool hasScheme ( )

Returns true if the URL specifies a scheme (e.g.

"http:"), false otherwise.

bool hasServer ( )

Returns true if the URL specifies a server name, false otherwise.

bool hasUsername ( )

Returns true if the URL specifies a username (and/or password), false otherwise.

bool input ( istream  in)
bool isDefaultPort ( )

Returns true if the port number encoded in this URL is the default port number for the scheme (or if there is no port number), or false if it is a nonstandard port.

bool isSsl ( )

Returns true if the URL's scheme specifies an SSL-secured protocol such as https, or false otherwise.

unsigned int length ( )
bool operator!= ( URLSpec const  other)
bool operator< ( URLSpec const  other)
URLSpec operator= ( string  url)
URLSpec operator= ( URLSpec const  copy)
bool operator== ( URLSpec const  other)
char operator[] ( int  n)
output ( ostream  out)
static string quote ( string  source) [static]

Returns the source string with all "unsafe" characters quoted, making a string suitable for placing in a URL.

Letters, digits, and the underscore, comma, period, and hyphen characters, as well as any included in the safe string, are left alone; all others are converted to hex representation.

static string quote ( string  source,
string  safe 
) [static]

Returns the source string with all "unsafe" characters quoted, making a string suitable for placing in a URL.

Letters, digits, and the underscore, comma, period, and hyphen characters, as well as any included in the safe string, are left alone; all others are converted to hex representation.

static string quotePlus ( string  source,
string  safe 
) [static]

Behaves like quote() with the additional behavior of replacing spaces with plus signs.

static string quotePlus ( string  source) [static]

Behaves like quote() with the additional behavior of replacing spaces with plus signs.

setAuthority ( string  authority)

Replaces the authority part of the URL specification.

This includes the username, server, and port.

setPath ( string  path)

Replaces the path part of the URL specification.

setPort ( string  port)

Replaces the port part of the URL specification.

setPort ( int  port)

Replaces the port part of the URL specification, given a numeric port number.

setQuery ( string  query)

Replaces the query part of the URL specification.

setScheme ( string  scheme)

Replaces the scheme part of the URL specification.

setServer ( string  server)

Replaces the server part of the URL specification.

setServerAndPort ( string  server_and_port)

Replaces the server and port parts of the URL specification simultaneously.

The input string should be of the form "server:port", or just "server" to make the port number implicit.

setUrl ( string  url,
bool  server_name_expected 
)

Completely replaces the URL with the indicated string.

If server_name_expected is true, it is a hint that an undecorated URL is probably a server name, not a local filename.

setUrl ( string  url)

Completely replaces the URL with the indicated string.

If server_name_expected is true, it is a hint that an undecorated URL is probably a server name, not a local filename.

setUsername ( string  username)

Replaces the username part of the URL specification.

static string unquote ( string  source) [static]

Reverses the operation of quote(): converts escaped characters of the form "%xx" to their ascii equivalent.

static string unquotePlus ( string  source) [static]

Reverses the operation of quote_plus(): converts escaped characters of the form "%xx" to their ascii equivalent, and also converts plus signs to spaces.

 All Classes Namespaces Functions Variables Enumerations Enumerator Properties