ConnectionProvider::HttpConnection Class Reference

class for HTTP connections; returns Qore::HTTPClient objects More...

Inheritance diagram for ConnectionProvider::HttpConnection:
[legend]

## Public Member Functions

| constructor (string name, string desc, string url, bool monitor, *hash opts, hash urlh)
| creates the HttpConnection object More...
*hash | getDefaultOptions ()
| returns default options More...
hash | getOptions ()
| gets options More...
string | getType ()
| returns `"http"`
Public Member Functions inherited from ConnectionProvider::AbstractConnection
| constructor (string n_name, string n_desc, string n_url, bool n_monitor, *hash n_opts, hash n_urlh, *string n_safe_url)
| creates the AbstractConnection object More...
object | get (bool connect=True, *hash rtopts)
| returns the underlying connection object More...
hash< ConfigInfo > | getConfigHash ()
| returns a ConfigInfo hash of static configuration information about the connection More...
*hash | getDefaultOptions ()
| returns default options
hash< ConnectionInfo > | getInfo (bool with_password=False)
| returns a ConnectionInfo hash of information about the connection More...
*hash | getOptions ()
| returns static / initialization options
*hash | getRealOptions ()
| returns options for saving the connection's configuration information
*hash | getRuntimeOptions ()
| returns runtime options
| parseTextOptions ()
| this method is called when parsing connection file definitions from text files when loading into the database More...
hash< PingInfo > | ping (bool throw_exception=False)
| returns a hash with the results of the ping operation More...

## Static Public Member Functions

static HttpConnection | make (string name, string desc, string url, bool monitor, *hash opts, hash urlh)
| static constructor

## Public Attributes

const | DefaultOptions
| HttpConnection default options.
const | Options
| HttpConnection object connection options.
Public Attributes inherited from ConnectionProvider::AbstractConnection
string | desc
| connection description
date | last_check
| date/time of last check/ping
bool | loopback = False
| set to True for loopback connections
bool | monitor
| monitoring flag
string | name
| connection name
*hash | opts
| connection options
*hash | orig_opts
| original connection options
string | safe_url
| "safe" URL (password information removed)
string | status = "not checked"
| status string; in case of a connection error this string will be the error string
bool | up = False
| connection status flag; set by monitoring or explicit pings/connections
date | updated
| date/time of last update
string | url
| connection URL (potentially with password info)
hash | urlh
| broken down URL hash (as returned by Qore::parse_url())

## Private Member Functions

Qore::HTTPClient | getImpl (bool connect=True, *hash rtopts)
| returns an Qore::HTTPClient object More...

## Additional Inherited Members

Static Public Attributes inherited from ConnectionProvider::AbstractConnection
static *code | post_processing
| optional code for default post-processing of objects created by getImpl(); must take the object created and the connection name as arguments

## Detailed Description

class for HTTP connections; returns Qore::HTTPClient objects

supports the following options:

- `"connect_timeout"`: connection timeout to use in milliseconds (default: 45 seconds)
- `"http_version"`: HTTP version to use (`"1.0"` or `"1.1"`, defaults to `"1.1"`)
- `"max_redirects"`: maximum redirects to support
- `"proxy"`: proxy URL to use
- `"ssl_cert_path"`: a path to an X.509 client certificate file in PEM format
- `"ssl_key_path"`: a path to a private key file in PEM format for the X.509 client certificate
- `"ssl_key_password"`: the password to the private key given with `"ssl_key_path"`
- `"ssl_verify_cert"`: if True then the server's certificate will only be accepted if it's verified
- `"timeout"`: transfer timeout to use in milliseconds (default: 45 seconds)

See also
  HTTPClient::constructor(hash opts) for more information on the above options

## Member Function Documentation

## constructor()

ConnectionProvider::HttpConnection::constructor | ( | string | name,
|  | string | desc,
|  | string | url,
|  | bool | monitor,
|  | *hash | opts,
|  | hash | urlh
| ) |  |

creates the HttpConnection object

Parameters

  name | the name of the connection
  desc | connection description
  url | connection URL (potentially with password info)
  monitor | monitoring flag
  opts | connection options (

See also
  getOptions() for valid options)

Parameters

  urlh | broken down URL hash (as returned by Qore::parse_url())

## getDefaultOptions()

*hash ConnectionProvider::HttpConnection::getDefaultOptions | ( |  | ) |

returns default options

Returns
  default options as follows:
  - `"connect_timeout"`: (relative date/time value) 45 seconds
  - `"timeout"`: (relative date/time value) 45 seconds

## getImpl()

Qore::HTTPClient ConnectionProvider::HttpConnection::getImpl | ( | bool | connect = `True`,
|  | *hash | rtopts
| ) |  |

privatevirtual

returns an Qore::HTTPClient object

Parameters

  connect | if True then a connection is made by calling Qore::HTTPClient::connect() before returning the object
  rtopts | this connection type does not accept any runtime option, so this parameter is ignored

Implements ConnectionProvider::AbstractConnection.

## getOptions()

hash ConnectionProvider::HttpConnection::getOptions | ( |  | ) |

gets options

Returns
  returns a hash with the following supported options:
  - `"connect_timeout"`: connection timeout to use in milliseconds
  - `"http_version"`: HTTP version to use (`"1.0"` or `"1.1"`, defaults to `"1.1"`)
  - `"max_redirects"`: maximum redirects to support
  - `"proxy"`: proxy URL to use
  - `"ssl_cert_path"`: a path to an X.509 client certificate file in PEM format
  - `"ssl_key_path"`: a path to a private key file in PEM format for the X.509 client certificate
  - `"ssl_key_password"`: the password to the private key given with `"ssl_key_path"`
  - `"ssl_verify_cert"`: if True then the server's certificate will only be accepted if it's verified
  - `"timeout"`: transfer timeout to use in milliseconds

See also
  HTTPClient::constructor(hash opts) for more information on the above options