Qore ConnectionProvider Module Reference  1.0
ConnectionProvider::HttpConnection Class Reference

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

Inheritance diagram for ConnectionProvider::HttpConnection:

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< ConfigInfogetConfigHash ()
 returns a ConfigInfo hash of static configuration information about the connection More...
 
*hash getDefaultOptions ()
 returns default options
 
hash< ConnectionInfogetInfo (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< PingInfoping (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
namethe name of the connection
descconnection description
urlconnection URL (potentially with password info)
monitormonitoring flag
optsconnection options (
See also
getOptions() for valid options)
Parameters
urlhbroken down URL hash (as returned by Qore::parse_url())

◆ getDefaultOptions()

*hash ConnectionProvider::HttpConnection::getDefaultOptions ( )

returns default options

Returns
default options as follows:

◆ getImpl()

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

returns an Qore::HTTPClient object

Parameters
connectif True then a connection is made by calling Qore::HTTPClient::connect() before returning the object
rtoptsthis 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