URL String Parser
[Globus Common API]

URL String Parser. More...

Data Structures

struct  globus_url_t
 Parsed URLs.This structure contains the fields which were parsed from an string representation of an URL. There are no methods to access fields of this structure. More...

Enumerations

enum  globus_url_scheme_t {
  GLOBUS_URL_SCHEME_FTP = 0, GLOBUS_URL_SCHEME_GSIFTP, GLOBUS_URL_SCHEME_HTTP, GLOBUS_URL_SCHEME_HTTPS,
  GLOBUS_URL_SCHEME_LDAP, GLOBUS_URL_SCHEME_FILE, GLOBUS_URL_SCHEME_X_NEXUS, GLOBUS_URL_SCHEME_X_GASS_CACHE,
  GLOBUS_URL_SCHEME_UNKNOWN , GLOBUS_URL_NUM_SCHEMES
}
 

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.

More...

Functions

int globus_url_parse (const char *url_string, globus_url_t *url)
int globus_url_parse_rfc1738 (const char *url_string, globus_url_t *url)
int globus_url_parse_loose (const char *url_string, globus_url_t *url)
int globus_url_destroy (globus_url_t *url)
int globus_url_get_scheme (const char *url_string, globus_url_scheme_t *scheme_type)
int globus_url_copy (globus_url_t *dst, const globus_url_t *src)

Detailed Description

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.


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_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.
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_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_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_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.
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines

Generated on 30 Aug 2019 for globus_common by  doxygen 1.6.1