camel-url

camel-url —

Synopsis




                    CamelURL;
#define             CAMEL_URL_HIDE_PASSWORD
#define             CAMEL_URL_HIDE_PARAMS
#define             CAMEL_URL_HIDE_AUTH
#define             CAMEL_URL_HIDE_ALL
CamelURL*           camel_url_new_with_base             (CamelURL *base,
                                                         const char *url_string);
CamelURL*           camel_url_new                       (const char *url_string,
                                                         CamelException *ex);
char*               camel_url_to_string                 (CamelURL *url,
                                                         guint32 flags);
void                camel_url_free                      (CamelURL *url);
char*               camel_url_encode                    (const char *part,
                                                         const char *escape_extra);
void                camel_url_decode                    (char *part);
char*               camel_url_decode_path               (const char *path);
void                camel_url_set_protocol              (CamelURL *url,
                                                         const char *protocol);
void                camel_url_set_user                  (CamelURL *url,
                                                         const char *user);
void                camel_url_set_authmech              (CamelURL *url,
                                                         const char *authmech);
void                camel_url_set_passwd                (CamelURL *url,
                                                         const char *passwd);
void                camel_url_set_host                  (CamelURL *url,
                                                         const char *host);
void                camel_url_set_port                  (CamelURL *url,
                                                         int port);
void                camel_url_set_path                  (CamelURL *url,
                                                         const char *path);
void                camel_url_set_param                 (CamelURL *url,
                                                         const char *name,
                                                         const char *value);
void                camel_url_set_query                 (CamelURL *url,
                                                         const char *query);
void                camel_url_set_fragment              (CamelURL *url,
                                                         const char *fragment);
const char*         camel_url_get_param                 (CamelURL *url,
                                                         const char *name);
guint               camel_url_hash                      (const void *v);
int                 camel_url_equal                     (const void *v,
                                                         const void *v2);
CamelURL*           camel_url_copy                      (const CamelURL *in);

Description

Details

CamelURL

typedef struct {
	char  *protocol;
	char  *user;
	char  *authmech;
	char  *passwd;
	char  *host;
	int    port;
	char  *path;
	GData *params;
	char  *query;
	char  *fragment;
} CamelURL;


CAMEL_URL_HIDE_PASSWORD

#define CAMEL_URL_HIDE_PASSWORD	(1 << 0)


CAMEL_URL_HIDE_PARAMS

#define CAMEL_URL_HIDE_PARAMS	(1 << 1)


CAMEL_URL_HIDE_AUTH

#define CAMEL_URL_HIDE_AUTH	(1 << 2)


CAMEL_URL_HIDE_ALL

#define CAMEL_URL_HIDE_ALL (CAMEL_URL_HIDE_PASSWORD | CAMEL_URL_HIDE_PARAMS | CAMEL_URL_HIDE_AUTH)


camel_url_new_with_base ()

CamelURL*           camel_url_new_with_base             (CamelURL *base,
                                                         const char *url_string);

Parses url_string relative to base.

base : a base URL
url_string : the URL
Returns : a parsed CamelURL

camel_url_new ()

CamelURL*           camel_url_new                       (const char *url_string,
                                                         CamelException *ex);

Parses an absolute URL.

url_string : a URL string
ex : a CamelException
Returns : a CamelURL if it can be parsed, or NULL otherwise

camel_url_to_string ()

char*               camel_url_to_string                 (CamelURL *url,
                                                         guint32 flags);

Flatten a CamelURL into a string.

url : a CamelURL
flags : additional translation options
Returns : a string representing url, which the caller must free

camel_url_free ()

void                camel_url_free                      (CamelURL *url);

Frees url.

url : a CamelURL

camel_url_encode ()

char*               camel_url_encode                    (const char *part,
                                                         const char *escape_extra);

This -encodes the given URL part and returns the escaped version in allocated memory, which the caller must free when it is done.

part : a URL part
escape_extra : additional characters beyond " \"%#<>{}|\^[]`" to escape (or NULL)
Returns : the encoded string

camel_url_decode ()

void                camel_url_decode                    (char *part);

-decodes the passed-in URL *in place*. The decoded version is never longer than the encoded version, so there does not need to be any additional space at the end of the string.

part : a URL part

camel_url_decode_path ()

char*               camel_url_decode_path               (const char *path);

path :
Returns :

camel_url_set_protocol ()

void                camel_url_set_protocol              (CamelURL *url,
                                                         const char *protocol);

Set the protocol of a CamelURL.

url : a CamelURL
protocol : protocol schema

camel_url_set_user ()

void                camel_url_set_user                  (CamelURL *url,
                                                         const char *user);

Set the user of a CamelURL.

url : a CamelURL
user : username

camel_url_set_authmech ()

void                camel_url_set_authmech              (CamelURL *url,
                                                         const char *authmech);

Set the authmech of a CamelURL.

url : a CamelURL
authmech : authentication mechanism

camel_url_set_passwd ()

void                camel_url_set_passwd                (CamelURL *url,
                                                         const char *passwd);

Set the password of a CamelURL.

url : a CamelURL
passwd : password

camel_url_set_host ()

void                camel_url_set_host                  (CamelURL *url,
                                                         const char *host);

Set the hostname of a CamelURL.

url : a CamelURL
host : hostname

camel_url_set_port ()

void                camel_url_set_port                  (CamelURL *url,
                                                         int port);

Set the port on a CamelURL.

url : a CamelURL
port : port

camel_url_set_path ()

void                camel_url_set_path                  (CamelURL *url,
                                                         const char *path);

Set the path component of a CamelURL.

url : a CamelURL
path : path

camel_url_set_param ()

void                camel_url_set_param                 (CamelURL *url,
                                                         const char *name,
                                                         const char *value);

Set a param on the CamelURL.

url : a CamelURL
name : name of the param to set
value : value of the param to set

camel_url_set_query ()

void                camel_url_set_query                 (CamelURL *url,
                                                         const char *query);

Set the query of a CamelURL.

url : a CamelURL
query : url query

camel_url_set_fragment ()

void                camel_url_set_fragment              (CamelURL *url,
                                                         const char *fragment);

Set the fragment of a CamelURL.

url : a CamelURL
fragment : url fragment

camel_url_get_param ()

const char*         camel_url_get_param                 (CamelURL *url,
                                                         const char *name);

Get the value of the specified param on the URL.

url : a CamelURL
name : name of the param
Returns : the value of a param if found or NULL otherwise

camel_url_hash ()

guint               camel_url_hash                      (const void *v);

v :
Returns :

camel_url_equal ()

int                 camel_url_equal                     (const void *v,
                                                         const void *v2);

v :
v2 :
Returns :

camel_url_copy ()

CamelURL*           camel_url_copy                      (const CamelURL *in);

Copy a CamelURL.

in : a CamelURL to copy
Returns : a duplicate copy of in