URI
[utilities]


Classes

struct  axis2_uri_ops
 URI ops struct Encapsulator struct for ops of axis2_uri. More...
struct  axis2_uri
 URI struct Axis2 URI. More...

Defines

#define AXIS2_URI_FTP_DEFAULT_PORT   21
#define AXIS2_URI_SSH_DEFAULT_PORT   22
#define AXIS2_URI_TELNET_DEFAULT_PORT   23
#define AXIS2_URI_GOPHER_DEFAULT_PORT   70
#define AXIS2_URI_HTTP_DEFAULT_PORT   80
#define AXIS2_URI_POP_DEFAULT_PORT   110
#define AXIS2_URI_NNTP_DEFAULT_PORT   119
#define AXIS2_URI_IMAP_DEFAULT_PORT   143
#define AXIS2_URI_PROSPERO_DEFAULT_PORT   191
#define AXIS2_URI_WAIS_DEFAULT_PORT   210
#define AXIS2_URI_LDAP_DEFAULT_PORT   389
#define AXIS2_URI_HTTPS_DEFAULT_PORT   443
#define AXIS2_URI_RTSP_DEFAULT_PORT   554
#define AXIS2_URI_SNEWS_DEFAULT_PORT   563
#define AXIS2_URI_ACAP_DEFAULT_PORT   674
#define AXIS2_URI_NFS_DEFAULT_PORT   2049
#define AXIS2_URI_TIP_DEFAULT_PORT   3372
#define AXIS2_URI_SIP_DEFAULT_PORT   5060
#define AXIS2_URI_UNP_OMITSITEPART   (1U<<0)
#define AXIS2_URI_UNP_OMITUSER   (1U<<1)
#define AXIS2_URI_UNP_OMITPASSWORD   (1U<<2)
#define AXIS2_URI_UNP_OMITUSERINFO
#define AXIS2_URI_UNP_REVEALPASSWORD   (1U<<3)
#define AXIS2_URI_UNP_OMITPATHINFO   (1U<<4)
#define AXIS2_URI_UNP_OMITQUERY   (1U<<5)
#define AXIS2_URI_FREE(uri, env)   ((uri)->ops->free(uri, env))
#define AXIS2_URI_TO_STRING(uri, env, flags)   (((axis2_uri_t *) uri)->ops->to_string(uri, env, flags))
#define AXIS2_URI_GET_PROTOCOL(uri, env)   ((uri)->ops->get_protocol(uri, env))
#define AXIS2_URI_GET_SERVER(uri, env)   ((uri)->ops->get_server(uri, env))
#define AXIS2_URI_GET_PORT(uri, env)   ((uri)->ops->get_port(uri, env))
#define AXIS2_URI_GET_PATH(uri, env)   ((uri)->ops->get_path(uri, env))
#define AXIS2_URI_CLONE(uri, env)   ((uri)->ops->clone(uri, env))

Typedefs

typedef unsigned short axis2_port_t
typedef axis2_uri_ops axis2_uri_ops_t
typedef axis2_uri axis2_uri_t

Functions

AXIS2_EXTERN axis2_port_t axis2_uri_port_of_scheme (const axis2_char_t *scheme_str)
AXIS2_EXTERN axis2_uri_taxis2_uri_parse_string (const axis2_env_t *env, const axis2_char_t *uri)
AXIS2_EXTERN axis2_uri_taxis2_uri_parse_hostinfo (const axis2_env_t *env, const axis2_char_t *hostinfo)
AXIS2_EXTERN axis2_uri_taxis2_uri_resolve_relative (const axis2_env_t *env, const axis2_uri_t *base, axis2_uri_t *uptr)
AXIS2_EXTERN axis2_uri_taxis2_uri_parse_relative (const axis2_env_t *env, const axis2_uri_t *base, const char *uri)

Define Documentation

#define AXIS2_URI_ACAP_DEFAULT_PORT   674

default ACAP port

#define AXIS2_URI_FTP_DEFAULT_PORT   21

default FTP port

#define AXIS2_URI_GOPHER_DEFAULT_PORT   70

default Gopher port

#define AXIS2_URI_HTTP_DEFAULT_PORT   80

default HTTP port

#define AXIS2_URI_HTTPS_DEFAULT_PORT   443

default HTTPS port

#define AXIS2_URI_IMAP_DEFAULT_PORT   143

default IMAP port

#define AXIS2_URI_LDAP_DEFAULT_PORT   389

default LDAP port

#define AXIS2_URI_NFS_DEFAULT_PORT   2049

default NFS port

#define AXIS2_URI_NNTP_DEFAULT_PORT   119

default NNTP port

#define AXIS2_URI_POP_DEFAULT_PORT   110

default POP port

#define AXIS2_URI_PROSPERO_DEFAULT_PORT   191

default Prospero port

#define AXIS2_URI_RTSP_DEFAULT_PORT   554

default RTSP port

#define AXIS2_URI_SIP_DEFAULT_PORT   5060

default SIP port

#define AXIS2_URI_SNEWS_DEFAULT_PORT   563

default SNEWS port

#define AXIS2_URI_SSH_DEFAULT_PORT   22

default SSH port

#define AXIS2_URI_TELNET_DEFAULT_PORT   23

default telnet port

#define AXIS2_URI_TIP_DEFAULT_PORT   3372

default TIP port

#define AXIS2_URI_UNP_OMITPASSWORD   (1U<<2)

Just omit password

#define AXIS2_URI_UNP_OMITPATHINFO   (1U<<4)

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

#define AXIS2_URI_UNP_OMITQUERY   (1U<<5)

Omit the "?queryarg" from the path

#define AXIS2_URI_UNP_OMITSITEPART   (1U<<0)

suppress "scheme://user\@site:port"

#define AXIS2_URI_UNP_OMITUSER   (1U<<1)

Just omit user

#define AXIS2_URI_UNP_OMITUSERINFO

Value:

omit "user:password\@" part

#define AXIS2_URI_UNP_REVEALPASSWORD   (1U<<3)

Show plain text password (default: show XXXXXXXX)

#define AXIS2_URI_WAIS_DEFAULT_PORT   210

default WAIS port


Typedef Documentation

typedef unsigned short axis2_port_t

See also:
axis2_uri_t


Function Documentation

AXIS2_EXTERN axis2_uri_t* axis2_uri_parse_hostinfo ( const axis2_env_t env,
const axis2_char_t *  hostinfo 
)

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

Parameters:
hostinfo The hostinfo string to parse
uptr The axis2_uri_t to fill out
Returns:
AXIS2_SUCCESS for success or error code

AXIS2_EXTERN axis2_uri_t* axis2_uri_parse_relative ( const axis2_env_t env,
const axis2_uri_t base,
const char *  uri 
)

Return a URI created from a context URI and a relative URI. If a valid URI cannot be created the only other possibility this method will consider is that an absolute file path has been passed in as the relative URI argument, and it will try to create a 'file' URI from it.

Parameters:
context_uri the document base URI
uri a file URI relative to the context_uri or an absolute file path
Returns:
the URIcreated from context_uri and uri

AXIS2_EXTERN axis2_uri_t* axis2_uri_parse_string ( const axis2_env_t env,
const axis2_char_t *  uri 
)

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

Parameters:
uri The uri to parse
uptr The axis2_uri_t to fill out
Returns:
AXIS2_SUCCESS for success or error code

AXIS2_EXTERN axis2_port_t axis2_uri_port_of_scheme ( const axis2_char_t *  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_str The string that contains the current scheme
Returns:
The default port for this scheme

AXIS2_EXTERN axis2_uri_t* axis2_uri_resolve_relative ( const axis2_env_t env,
const axis2_uri_t base,
axis2_uri_t uptr 
)

Resolve relative to a base. This means host/etc, and (crucially) path


Generated on Tue Oct 3 18:21:15 2006 for Axis2/C by  doxygen 1.4.7