Data Structures | Enumerations | Functions

URL String Parser

The Globus URL functions provide a simple mechanism for parsing a URL string into a data structure, and for determining the scheme of an URL string. More...

Data Structures

Enumerations

Functions


Detailed Description

The Globus URL functions provide a simple mechanism for parsing a URL string into a data structure, and for determining the scheme of an URL string.

These functions are part of the Globus common library. The GLOBUS_COMMON module must be activated in order to use them.


Enumeration Type Documentation

URL Schemes.

The Globus URL library supports a set of URL schemes (protocols). This enumeration can be used to quickly dispatch a parsed URL based on a constant value.

See also:
globus_url_t::scheme_type
Enumerator:
GLOBUS_URL_SCHEME_FTP 

File Transfer Protocol.

GLOBUS_URL_SCHEME_GSIFTP 

GSI-enhanced File Transfer Protocol.

GLOBUS_URL_SCHEME_HTTP 

HyperText Transfer Protocol.

GLOBUS_URL_SCHEME_HTTPS 

Secure HyperText Transfer Protocol.

GLOBUS_URL_SCHEME_LDAP 

Lightweight Directory Access Protocol.

GLOBUS_URL_SCHEME_FILE 

File Location.

GLOBUS_URL_SCHEME_X_NEXUS 

Nexus endpoint.

GLOBUS_URL_SCHEME_X_GASS_CACHE 

GASS Cache Entry.

GLOBUS_URL_SCHEME_UNKNOWN 

Any other URL of the form <scheme>://<something>

GLOBUS_URL_NUM_SCHEMES 

Total number of URL schemes supported.


Function Documentation

int globus_url_parse ( const char *  url_string,
globus_url_t url 
)

Parse a string containing a URL into a globus_url_t.

Parameters:
url_string String to parse
url Pointer to globus_url_t to be filled with the fields of the url
Return values:
GLOBUS_SUCCESS The string was successfully parsed.
GLOBUS_URL_ERROR_NULL_STRING The url_string was GLOBUS_NULL.
GLOBUS_URL_ERROR_NULL_URL The URL pointer was GLOBUS_NULL.
GLOBUS_URL_ERROR_BAD_SCHEME The URL scheme (protocol) contained invalid characters.
GLOBUS_URL_ERROR_BAD_USER The user part of the URL contained invalid characters.
GLOBUS_URL_ERROR_BAD_PASSWORD The password part of the URL contained invalid characters.
GLOBUS_URL_ERROR_BAD_HOST The host part of the URL contained invalid characters.
GLOBUS_URL_ERROR_BAD_PORT The port part of the URL contained invalid characters.
GLOBUS_URL_ERROR_BAD_PATH The path part of the URL contained invalid characters.
GLOBUS_URL_ERROR_BAD_DN -9 The DN part of an LDAP URL contained invalid characters.
GLOBUS_URL_ERROR_BAD_ATTRIBUTES -10 The attributes part of an LDAP URL contained invalid characters.
GLOBUS_URL_ERROR_BAD_SCOPE -11 The scope part of an LDAP URL contained invalid characters.
GLOBUS_URL_ERROR_BAD_FILTER -12 The filter part of an LDAP URL contained invalid characters.
GLOBUS_URL_ERROR_OUT_OF_MEMORY -13 The library was unable to allocate memory to create the the globus_url_t contents.
GLOBUS_URL_ERROR_INTERNAL_ERROR -14 Some unexpected error occurred parsing the URL.
int globus_url_parse_rfc1738 ( const char *  url_string,
globus_url_t url 
)

Parse a string containing a URL into a globus_url_t.

Parameters:
url_string String to parse
url Pointer to globus_url_t to be filled with the fields of the url
Return values:
GLOBUS_SUCCESS The string was successfully parsed.
GLOBUS_URL_ERROR_NULL_STRING The url_string was GLOBUS_NULL.
GLOBUS_URL_ERROR_NULL_URL The URL pointer was GLOBUS_NULL.
GLOBUS_URL_ERROR_BAD_SCHEME The URL scheme (protocol) contained invalid characters.
GLOBUS_URL_ERROR_BAD_USER The user part of the URL contained invalid characters.
GLOBUS_URL_ERROR_BAD_PASSWORD The password part of the URL contained invalid characters.
GLOBUS_URL_ERROR_BAD_HOST The host part of the URL contained invalid characters.
GLOBUS_URL_ERROR_BAD_PORT The port part of the URL contained invalid characters.
GLOBUS_URL_ERROR_BAD_PATH The path part of the URL contained invalid characters.
GLOBUS_URL_ERROR_BAD_DN -9 The DN part of an LDAP URL contained invalid characters.
GLOBUS_URL_ERROR_BAD_ATTRIBUTES -10 The attributes part of an LDAP URL contained invalid characters.
GLOBUS_URL_ERROR_BAD_SCOPE -11 The scope part of an LDAP URL contained invalid characters.
GLOBUS_URL_ERROR_BAD_FILTER -12 The filter part of an LDAP URL contained invalid characters.
GLOBUS_URL_ERROR_OUT_OF_MEMORY -13 The library was unable to allocate memory to create the the globus_url_t contents.
GLOBUS_URL_ERROR_INTERNAL_ERROR -14 Some unexpected error occurred parsing the URL.
int globus_url_parse_loose ( const char *  url_string,
globus_url_t url 
)

Parse a string containing a URL into a globus_url_t Looser restrictions on characters allowed in the path part of the URL.

Parameters:
url_string String to parse
url Pointer to globus_url_t to be filled with the fields of the url
Return values:
GLOBUS_SUCCESS The string was successfully parsed.
GLOBUS_URL_ERROR_NULL_STRING The url_string was GLOBUS_NULL.
GLOBUS_URL_ERROR_NULL_URL The URL pointer was GLOBUS_NULL.
GLOBUS_URL_ERROR_BAD_SCHEME The URL scheme (protocol) contained invalid characters.
GLOBUS_URL_ERROR_BAD_USER The user part of the URL contained invalid characters.
GLOBUS_URL_ERROR_BAD_PASSWORD The password part of the URL contained invalid characters.
GLOBUS_URL_ERROR_BAD_HOST The host part of the URL contained invalid characters.
GLOBUS_URL_ERROR_BAD_PORT The port part of the URL contained invalid characters.
GLOBUS_URL_ERROR_BAD_PATH The path part of the URL contained invalid characters.
GLOBUS_URL_ERROR_BAD_DN -9 The DN part of an LDAP URL contained invalid characters.
GLOBUS_URL_ERROR_BAD_ATTRIBUTES -10 The attributes part of an LDAP URL contained invalid characters.
GLOBUS_URL_ERROR_BAD_SCOPE -11 The scope part of an LDAP URL contained invalid characters.
GLOBUS_URL_ERROR_BAD_FILTER -12 The filter part of an LDAP URL contained invalid characters.
GLOBUS_URL_ERROR_OUT_OF_MEMORY -13 The library was unable to allocate memory to create the the globus_url_t contents.
GLOBUS_URL_ERROR_INTERNAL_ERROR -14 Some unexpected error occurred parsing the URL.
int globus_url_destroy ( globus_url_t url  ) 

Destroy a globus_url_t structure.

This function frees all memory associated with a globus_url_t structure.

Parameters:
url The url structure to destroy
Return values:
GLOBUS_SUCCESS The URL was successfully destroyed.
int globus_url_get_scheme ( const char *  url_string,
globus_url_scheme_t scheme_type 
)

Get the scheme of an URL.

This function determines the scheme type of the url string, and populates the variable pointed to by second parameter with that value. This performs a less expensive parsing than globus_url_parse() and is suitable for applications which need only to choose a handler based on the URL scheme.

Parameters:
url_string The string containing the URL.
scheme_type A pointer to a globus_url_scheme_t which will be set to the scheme.
Return values:
GLOBUS_SUCCESS The URL scheme was recogized, and scheme_type has been updated.
GLOBUS_URL_ERROR_BAD_SCHEME The URL scheme was not recogized.
int globus_url_copy ( globus_url_t dst,
const globus_url_t src 
)

Create a copy of an URL structure.

This function copies the contents of a url structure into another.

Parameters:
dst The URL structure to be populated with a copy of the contents of src.
src The original URL.
Return values:
GLOBUS_SUCCESS The URL was successfully copied.
GLOBUS_URL_ERROR_NULL_URL One of the URLs was GLOBUS_NULL.
GLOBUS_URL_ERROR_OUT_OF_MEMORY; The library was unable to allocate memory to create the the globus_url_t contents.

about globus | globus toolkit | dev.globus

Comments? webmaster@globus.org