Qore ConnectionProvider Module Reference  1.3
ConnectionProvider::HttpConnection Class Reference

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

Inheritance diagram for ConnectionProvider::HttpConnection:

Public Member Methods

deprecated constructor (string name, string desc, string url, bool monitor, *hash< auto > opts, hash< auto > urlh)
 DEPRECATED: creates the HttpConnection object. More...
 
 constructor (string name, string desc, string url, hash< auto > attributes={}, hash< auto > options={})
 creates the HttpConnection object More...
 
*hash< auto > getDefaultOptions ()
 returns default options More...
 
hash< auto > getOptions ()
 gets options More...
 
string getType ()
 returns "http"
 
- Public Member Methods inherited from ConnectionProvider::AbstractConnection
deprecated constructor (string n_name, string n_desc, string n_url, bool n_monitor, *hash n_opts, hash n_urlh, *string n_safe_url, *bool n_enabled)
 creates the AbstractConnection object More...
 
 constructor (string name, string description, string url, hash< auto > attributes={}, hash< auto > options={})
 creates the AbstractConnection object More...
 
object get (bool connect=True, *hash< auto > rtopts)
 returns the underlying connection object More...
 
hash< ConfigInfogetConfigHash ()
 returns a ConfigInfo hash of static configuration information about the connection More...
 
AbstractDataProvider getDataProvider ()
 returns a data provider object for this connection, if supported More...
 
*hash< auto > getDefaultOptions ()
 returns default options
 
hash< ConnectionInfogetInfo (bool with_password=False)
 returns a ConnectionInfo hash of information about the connection More...
 
*hash< auto > getOptions ()
 returns static / initialization options
 
*hash< auto > getRealOptions ()
 returns options for saving the connection's configuration information
 
*hash< auto > getRuntimeOptions ()
 returns runtime options
 
auto getTag (string tag)
 returns the value of the given tag or NOTHING if not present
 
auto getTagEx (string tag)
 returns the value of the given tag or throws an exception if the tag is not set with a value More...
 
hash< auto > getTags ()
 returns all tags associated with the connection
 
bool hasDataProvider ()
 returns True if the connection returns a data provider with the getDataProvider() method More...
 
 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...
 
hash< auto > validateOptions (hash< auto > options)
 performs options validation in the constructor More...
 

Static Public Member Methods

static deprecated HttpConnection make (string name, string desc, string url, bool monitor, *hash opts, hash urlh)
 DEPRECATED: static constructor. More...
 

Public Attributes

const DefaultOptions
 HttpConnection default options.
 
const Options
 HttpConnection object connection options.
 
- Public Attributes inherited from ConnectionProvider::AbstractConnection
bool debug_data = False
 debug data flag; to be used an an indication for a higher-level implementation
 
string desc
 connection description
 
bool enabled = True
 enabled/disabled indicator flag
 
hash< auto > internal_info
 internal tags
 
date last_check
 date/time of last check/ping
 
bool locked = False
 locked/unlocked flag
 
bool loopback = False
 set to True for loopback connections
 
bool monitor
 monitoring flag
 
string name
 connection name
 
*hash< auto > opts
 connection options
 
*hash< auto > 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
 
hash< auto > tags = {}
 connection tags; user-defined key-value pairs
 
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< auto > urlh
 broken down URL hash (as returned by Qore::parse_url())
 

Private Member Methods

Qore::HTTPClient getImpl (bool connect=True, *hash rtopts)
 returns an Qore::HTTPClient object More...
 
- Private Member Methods inherited from ConnectionProvider::AbstractConnection
abstract object getImpl (bool connect=True, *hash< auto > rtopts)
 this method must return the connection object corresponding to the object's configuration More...
 
string getSafeUrl (hash< auto > urlh)
 creates a "safe" URL string with password information removed More...
 
hash< UrlInfo > parseUrl (string url)
 Parse the URL to a hash. More...
 
hash< PingInfopingIntern (hash< PingInfo > rv)
 performs the ping by executing get(); returns a PingInfo hash
 

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 connection object and the object created as arguments
 

Detailed Description

class for HTTP connections; returns Qore::HTTPClient objects

supports the following options:

  • "assume_encoding": assumes the given encoding if the server does not send a charset value
  • "connect_timeout": connection timeout to use in milliseconds (default: 45 seconds)
  • "error_passthru": if True then HTTP status codes indicating errors will not cause an HTTP-CLIENT-RECEIVE-ERROR exception to be raised, rather such responses will be passed through to the caller like any other response
  • "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
  • "redirect_passthru": if True then redirect responses will be passed to the caller instead of processed
  • "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<auto> opts) for more information on the above options

Member Function Documentation

◆ constructor() [1/2]

deprecated ConnectionProvider::HttpConnection::constructor ( string  name,
string  desc,
string  url,
bool  monitor,
*hash< auto >  opts,
hash< auto >  urlh 
)

DEPRECATED: 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())
Deprecated:
since Qorus 0.9

◆ constructor() [2/2]

ConnectionProvider::HttpConnection::constructor ( string  name,
string  desc,
string  url,
hash< auto >  attributes = {},
hash< auto >  options = {} 
)

creates the HttpConnection object

Parameters
namethe name of the connection
descconnection description
urlconnection URL (potentially with password info)
attributesvarious attributes. See below
optionsconnection options

See AbstractConnection::constructor() for attributes and options reference.

◆ getDefaultOptions()

*hash<auto> ConnectionProvider::HttpConnection::getDefaultOptions ( )

returns default options

Returns
default options as follows:

◆ getImpl()

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

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

◆ getOptions()

hash<auto> ConnectionProvider::HttpConnection::getOptions ( )

gets options

Returns
returns a hash with the following supported options:
  • "assume_encoding": assumes the given encoding if the server does not send a charset value
  • "connect_timeout": connection timeout to use in milliseconds
  • "error_passthru": if True then HTTP status codes indicating errors will not cause an HTTP-CLIENT-RECEIVE-ERROR exception to be raised, rather such responses will be passed through to the caller like any other response
  • "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
  • "redirect_passthru": if True then redirect responses will be passed to the caller instead of processed
  • "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<auto> opts) for more information on the above options

◆ make()

static deprecated HttpConnection ConnectionProvider::HttpConnection::make ( string  name,
string  desc,
string  url,
bool  monitor,
*hash  opts,
hash  urlh 
)
static

DEPRECATED: static constructor.

Deprecated:
since Qore 0.9 in favor of new constructor and Qore::Reflection