Back to index

nordugrid-arc-nox  1.1.0~rc6
Classes | Namespaces | Defines | Functions
URL.h File Reference

Class to hold general URL's. More...

#include <iostream>
#include <list>
#include <map>
#include <string>
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.


class  Arc::URL
class  Arc::URLLocation
 Class to hold a resolved URL location. More...
class  Arc::PathIterator
 Class to iterate through elements of path. More...


namespace  Arc
 ARCJSDLParser The ARCJSDLParser class, derived from the JobDescriptionParser class, is primarily a job description parser for the consolidated job description language (ARCJSDL), derived from JSDL, described in the following document


#define RC_DEFAULT_PORT   389
 Default ports for different protocols.
#define RLS_DEFAULT_PORT   39281
#define HTTP_DEFAULT_PORT   80
#define HTTPS_DEFAULT_PORT   443
#define HTTPG_DEFAULT_PORT   8443
#define SRM_DEFAULT_PORT   8443
#define LDAP_DEFAULT_PORT   389
#define FTP_DEFAULT_PORT   21
#define GSIFTP_DEFAULT_PORT   2811
#define LFC_DEFAULT_PORT   5010


std::list< URL > Arc::ReadURLList (const URL &urllist)
 Reads a list of URLs from a file.

Detailed Description

Class to hold general URL's.

The URL is split into protocol, hostname, port and path. This class tries to follow RFC 3986 for spliting URLs at least for protocol + host part. It also accepts local file paths which are converted to file:path. Usual system dependant file paths are supported. Relative paths are converted to absolute ones by prepending them with current working directory path. File path can't start from # symbol (why?). If string representation of URL starts from '@' then it is treated as path to file containing list of URLs. Simple URL is parsed in following way: [protocol:][//[username:passwd@][host][:port]][;urloptions[;...]][/path[?httpoption[&...]][:metadataoption[:...]]] The 'protocol' and 'host' parts are treated as case-insensitive and to avoid confusion are converted to lowercase in constructor. Note that 'path' is always converted to absolute path in constructor. Meaning of 'absolute' may depend upon URL type. For generic URL and local POSIX file paths that means path starts from / like /path/to/file For Windows paths absolute path may look like C: It is important to note that path still can be empty. For referencing local file using absolute path on POSIX filesystem one may use either file:///path/to/file or file:/path/to/file Relative path will look like file:to/file For local Windows files possible URLs are file:C: file:to URLs representing LDAP resources have different structure of options following 'path' part ldap://host[:port][;urloptions[;...]][/path[?attributes[?scope[?filter]]]] For LDAP URLs paths are converted from /key1=value1/.../keyN=valueN notation to keyN=valueN,...,key1=value1 and hence path does not contain leading /. If LDAP URL initially had path in second notation leading / is treated as separator only and is stripped. URLs of indexing services optionally may have locations specified before 'host' part protocol://[location[;location[;...]]@][host][:port]... The structure of 'location' element is protocol specific.

Definition in file URL.h.

Define Documentation

#define FTP_DEFAULT_PORT   21

Definition at line 20 of file URL.h.

#define GSIFTP_DEFAULT_PORT   2811

Definition at line 21 of file URL.h.

#define HTTP_DEFAULT_PORT   80

Definition at line 15 of file URL.h.

#define HTTPG_DEFAULT_PORT   8443

Definition at line 17 of file URL.h.

#define HTTPS_DEFAULT_PORT   443

Definition at line 16 of file URL.h.

#define LDAP_DEFAULT_PORT   389

Definition at line 19 of file URL.h.

#define LFC_DEFAULT_PORT   5010

Definition at line 22 of file URL.h.

#define RC_DEFAULT_PORT   389

Default ports for different protocols.

Definition at line 13 of file URL.h.

#define RLS_DEFAULT_PORT   39281

Definition at line 14 of file URL.h.

#define SRM_DEFAULT_PORT   8443

Definition at line 18 of file URL.h.