Qore RestClient Module Reference  1.4
RestClient::RestConnection Class Reference

class for REST HTTP connections; returns RestClient::RestClient objects More...

Inheritance diagram for RestClient::RestConnection:

Public Member Functions

 constructor (string name, string desc, string url, bool monitor, *hash opts, hash urlh)
 creates the RestConnection object More...
 
*hash getDefaultOptions ()
 returns default options
 
hash getOptions ()
 gets options More...
 
string getType ()
 returns "rest"
 

Static Public Member Functions

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

Public Attributes

const Options
 RestConnection object connection options.
 
hash real_opts
 real options used when creating an object
 

Private Member Functions

RestClient getImpl (bool connect=True, *hash rtopts)
 returns a RestClient::RestClient object More...
 

Detailed Description

class for REST HTTP connections; returns RestClient::RestClient objects

supports the following options:

  • "connect_timeout": connection timeout to use in milliseconds
  • "content_encoding": this sets the send encoding (if the "send_encoding" option is not set) and the requested response encoding; for possible values, see EncodingSupport
  • "data": see RestClient::RestClient::DataSerializationOptions for possible values when used with the null REST schema validator; the default is "auto"
  • "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
  • "send_encoding": a send data encoding option or the value "auto" which means to use automatic encoding; if not present defaults to no content-encoding on sent message bodies
  • "swagger": the path to a Swagger 2.0 REST schema file for runtime API validation (see the Swagger module)
  • "timeout": transfer timeout to use in milliseconds
Note
additionally supports the following runtime option in getImpl():
  • "validator": an AbstractRestSchemaValidator object for REST message validation (if present, overrides any REST schema validation option provided as a connection option)
See also
RestClient::constructor() for more information on the above options
Since
RestConnection 1.4

Member Function Documentation

◆ constructor()

RestClient::RestConnection::constructor ( string  name,
string  desc,
string  url,
bool  monitor,
*hash  opts,
hash  urlh 
)

creates the RestConnection object

Parameters
namethe name of the connection
descconnection description
urlconnection URL (potentially with password info)
monitormonitoring flag
optsconnection options
urlhbroken down URL hash (as returned by Qore::parse_url())

◆ getImpl()

RestClient RestClient::RestConnection::getImpl ( bool  connect = True,
*hash  rtopts 
)
privatevirtual

returns a RestClient::RestClient object

Parameters
connectif True, then the connection is returned already connected
rtoptssupports the following runtime option in getImpl():
  • "validator": an AbstractRestSchemaValidator object for REST message validation (if present, overrides any REST schema validation option provided as a connection option)
Returns
a RestClient object

Implements ConnectionProvider::AbstractConnection.

◆ getOptions()

hash RestClient::RestConnection::getOptions ( )

gets options

Returns
returns a hash with the following supported options:
  • "connect_timeout": connection timeout to use in milliseconds
  • "content_encoding": this sets the send encoding (if the "send_encoding" option is not set) and the requested response encoding; for possible values, see EncodingSupport
  • "data": see DataSerializationOptions for possible values when used with the null REST schema validator; the default is "auto"
  • "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
  • "send_encoding": a send data encoding option or the value "auto" which means to use automatic encoding; if not present defaults to no content-encoding on sent message bodies
  • "swagger": the path to a Swagger 2.0 REST schema file for runtime API validation (see the Swagger module)
  • "timeout": transfer timeout to use in milliseconds
See also
RestClient::constructor() for more information on the above options