Apache Portable Runtime Utility Library
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Typedefs | Functions
URI
APR Utility Functions

Data Structures

struct  apr_uri_t

Macros

#define APR_URI_FTP_DEFAULT_PORT   21
#define APR_URI_SSH_DEFAULT_PORT   22
#define APR_URI_TELNET_DEFAULT_PORT   23
#define APR_URI_GOPHER_DEFAULT_PORT   70
#define APR_URI_HTTP_DEFAULT_PORT   80
#define APR_URI_POP_DEFAULT_PORT   110
#define APR_URI_NNTP_DEFAULT_PORT   119
#define APR_URI_IMAP_DEFAULT_PORT   143
#define APR_URI_PROSPERO_DEFAULT_PORT   191
#define APR_URI_WAIS_DEFAULT_PORT   210
#define APR_URI_LDAP_DEFAULT_PORT   389
#define APR_URI_HTTPS_DEFAULT_PORT   443
#define APR_URI_RTSP_DEFAULT_PORT   554
#define APR_URI_SNEWS_DEFAULT_PORT   563
#define APR_URI_ACAP_DEFAULT_PORT   674
#define APR_URI_NFS_DEFAULT_PORT   2049
#define APR_URI_TIP_DEFAULT_PORT   3372
#define APR_URI_SIP_DEFAULT_PORT   5060
#define APR_URI_UNP_OMITSITEPART   (1U<<0)
#define APR_URI_UNP_OMITUSER   (1U<<1)
#define APR_URI_UNP_OMITPASSWORD   (1U<<2)
#define APR_URI_UNP_OMITUSERINFO
#define APR_URI_UNP_REVEALPASSWORD   (1U<<3)
#define APR_URI_UNP_OMITPATHINFO   (1U<<4)
#define APR_URI_UNP_OMITQUERY   (1U<<5)

Typedefs

typedef struct apr_uri_t apr_uri_t

Functions

apr_port_t apr_uri_port_of_scheme (const char *scheme_str)
char * apr_uri_unparse (apr_pool_t *p, const apr_uri_t *uptr, unsigned flags)
apr_status_t apr_uri_parse (apr_pool_t *p, const char *uri, apr_uri_t *uptr)
apr_status_t apr_uri_parse_hostinfo (apr_pool_t *p, const char *hostinfo, apr_uri_t *uptr)

Detailed Description

Macro Definition Documentation

#define APR_URI_ACAP_DEFAULT_PORT   674

default ACAP port

#define APR_URI_FTP_DEFAULT_PORT   21

default FTP port

#define APR_URI_GOPHER_DEFAULT_PORT   70

default Gopher port

#define APR_URI_HTTP_DEFAULT_PORT   80

default HTTP port

#define APR_URI_HTTPS_DEFAULT_PORT   443

default HTTPS port

#define APR_URI_IMAP_DEFAULT_PORT   143

default IMAP port

#define APR_URI_LDAP_DEFAULT_PORT   389

default LDAP port

#define APR_URI_NFS_DEFAULT_PORT   2049

default NFS port

#define APR_URI_NNTP_DEFAULT_PORT   119

default NNTP port

#define APR_URI_POP_DEFAULT_PORT   110

default POP port

#define APR_URI_PROSPERO_DEFAULT_PORT   191

default Prospero port

#define APR_URI_RTSP_DEFAULT_PORT   554

default RTSP port

#define APR_URI_SIP_DEFAULT_PORT   5060

default SIP port

#define APR_URI_SNEWS_DEFAULT_PORT   563

default SNEWS port

#define APR_URI_SSH_DEFAULT_PORT   22

default SSH port

#define APR_URI_TELNET_DEFAULT_PORT   23

default telnet port

#define APR_URI_TIP_DEFAULT_PORT   3372

default TIP port

#define APR_URI_UNP_OMITPASSWORD   (1U<<2)

Just omit password

#define APR_URI_UNP_OMITPATHINFO   (1U<<4)

Show "scheme://user\@site:port" only

#define APR_URI_UNP_OMITQUERY   (1U<<5)

Omit the "?queryarg" from the path

#define APR_URI_UNP_OMITSITEPART   (1U<<0)

Flags passed to unparse_uri_components(): suppress "scheme://user\@site:port"

#define APR_URI_UNP_OMITUSER   (1U<<1)

Just omit user

#define APR_URI_UNP_OMITUSERINFO
Value:
APR_URI_UNP_OMITPASSWORD)

omit "user:password\@" part

#define APR_URI_UNP_REVEALPASSWORD   (1U<<3)

Show plain text password (default: show XXXXXXXX)

#define APR_URI_WAIS_DEFAULT_PORT   210

default WAIS port

Typedef Documentation

typedef struct apr_uri_t apr_uri_t
See Also
apr_uri_t

Function Documentation

apr_status_t apr_uri_parse ( apr_pool_t *  p,
const char *  uri,
apr_uri_t uptr 
)

Parse a given URI, fill in all supplied fields of a apr_uri_t structure. This eliminates the necessity of extracting host, port, path, query info repeatedly in the modules.

Parameters
pThe pool to allocate out of
uriThe uri to parse
uptrThe apr_uri_t to fill out
Returns
APR_SUCCESS for success or error code
apr_status_t apr_uri_parse_hostinfo ( apr_pool_t *  p,
const char *  hostinfo,
apr_uri_t uptr 
)

Special case for CONNECT parsing: it comes with the hostinfo part only

Parameters
pThe pool to allocate out of
hostinfoThe hostinfo string to parse
uptrThe apr_uri_t to fill out
Returns
APR_SUCCESS for success or error code
apr_port_t apr_uri_port_of_scheme ( const char *  scheme_str)

Return the default port for a given scheme. The schemes recognized are http, ftp, https, gopher, wais, nntp, snews, and prospero

Parameters
scheme_strThe string that contains the current scheme
Returns
The default port for this scheme
char* apr_uri_unparse ( apr_pool_t *  p,
const apr_uri_t uptr,
unsigned  flags 
)

Unparse a apr_uri_t structure to an URI string. Optionally suppress the password for security reasons.

Parameters
pThe pool to allocate out of
uptrAll of the parts of the uri
flagsHow to unparse the uri. One of:
   APR_URI_UNP_OMITSITEPART        Suppress "scheme://user\@site:port" 
   APR_URI_UNP_OMITUSER            Just omit user 
   APR_URI_UNP_OMITPASSWORD        Just omit password 
   APR_URI_UNP_OMITUSERINFO        Omit "user:password\@" part
   APR_URI_UNP_REVEALPASSWORD      Show plain text password (default: show XXXXXXXX)
   APR_URI_UNP_OMITPATHINFO        Show "scheme://user\@site:port" only 
   APR_URI_UNP_OMITQUERY           Omit "?queryarg" or "#fragment" 
Returns
The uri as a string