Qore RestClient Module Reference  1.6.1
RestClient::RestConnection Class Reference

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

Inheritance diagram for RestClient::RestConnection:

Public Member Methods

deprecated constructor (string name, string desc, string url, bool monitor, *hash< auto > opts, hash< auto > urlh)
 DEPRECATED: creates the RestConnection object. More...
 
 constructor (string name, string description, string url, hash< auto > attributes={}, hash< auto > options={})
 creates the RestConnection connection object More...
 
*hash< auto > getDefaultOptions ()
 returns default options
 
hash< auto > getOptions ()
 gets options More...
 
string getType ()
 returns "rest"
 

Static Public Member Methods

static deprecated RestConnection make (string name, string desc, string url, bool monitor, *hash< auto > opts, hash< auto > urlh)
 DEPRECATED: static constructor. More...
 
static hash< auto > processOptions (*hash< auto > opts)
 processes options for the constructor; in particular parses any string as a value of the "headers" option to return a hash
 

Public Attributes

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

Private Member Methods

hash< ConnectionConstructorInfo > getConstructorInfoImpl ()
 returns a hash that can be used to construct the object dynamically More...
 
RestClient getImpl (bool connect=True, *hash rtopts)
 returns a 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"
  • "error_passthru": if True then HTTP status codes indicating errors will not cause an REST-RESPONSE-ERROR exception to be raised, rather such responses will be passed through to the caller like any other response
  • "headers": an optional hash of headers to send with every request, these can also be overridden in request method calls; also a string giving headers can be given in the format: header1=value, header2=value; the value will be parsed with parse_to_qore_value()
  • "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 called instead of processed
  • "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() [1/2]

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

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

◆ constructor() [2/2]

RestClient::RestConnection::constructor ( string  name,
string  description,
string  url,
hash< auto >  attributes = {},
hash< auto >  options = {} 
)

creates the RestConnection connection object

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

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

Additional Attributes
  • error a custom error string

◆ getConstructorInfoImpl()

hash<ConnectionConstructorInfo> RestClient::RestConnection::getConstructorInfoImpl ( )
privatevirtual

returns a hash that can be used to construct the object dynamically

Since
RestClient 1.5

Implements ConnectionProvider::AbstractConnection.

◆ getImpl()

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

returns a 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<auto> 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"
  • "error_passthru": if True then HTTP status codes indicating errors will not cause an REST-RESPONSE-ERROR exception to be raised, rather such responses will be passed through to the caller like any other response
  • "headers": headers to send with each request
  • "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 called instead of processed
  • "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

◆ make()

static deprecated RestConnection RestClient::RestConnection::make ( string  name,
string  desc,
string  url,
bool  monitor,
*hash< auto >  opts,
hash< auto >  urlh 
)
static

DEPRECATED: static constructor.

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