class for REST HTTP connections; returns RestClient::RestClient objects
More...
#include <RestClient.qm.dox.h>
|
const | ConnectionScheme |
| Connection entry info.
|
|
const | OptionList = keys ConnectionScheme.options |
| object connection option list
|
|
const | Options = map {$1: True} |
| object connection options
|
|
hash< auto > | real_opts |
| real options used when creating an object
|
|
|
hash< ConnectionSchemeInfo > | getConnectionSchemeInfoImpl () |
| Returns the ConnectionSchemeInfo hash for this object.
|
|
RestClient | getImpl (bool connect=True, *hash< auto > rtopts) |
| returns a RestClient object More...
|
|
| pingImpl () |
| performs the internal ping More...
|
|
| setChildCapabilities () |
| Sets child data provider capabilities.
|
|
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 a 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 caller 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); conflicts with validator
"swagger_base_path"
: in case a REST validator is used, the base path in the schema can be overridden with this option (applies to any REST validator; not just Swagger validators)
"swagger_lax_parsing"
: try to parse invalid Swagger schemas
"timeout"
: transfer timeout to use in milliseconds
"validator"
: an AbstractRestSchemaValidator object to validate request and response messages; conflicts with swagger
- 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
◆ constructor()
RestClient::RestConnection::constructor |
( |
string |
name, |
|
|
string |
description, |
|
|
string |
url, |
|
|
hash< auto > |
attributes = {} , |
|
|
hash< auto > |
options = {} |
|
) |
| |
creates the RestConnection connection object
- Parameters
-
name | the name of the connection |
description | connection description |
url | connection URL (potentially with password info) |
attributes | various attributes. See below |
options | connection options |
See AbstractConnection::constructor() for attributes
and options
reference.
- Additional Attributes
error
a custom error string
- Exceptions
-
CONNECTION-OPTION-ERROR | missing or invalid connection option |
◆ getDataProvider()
returns a data provider object for this connection
- Returns
- a data provider object for this connection; the data provider is:
SwaggerDataProvider:
if an appropriate schema is configured
RestClientDataProvider:
if there is no schema configured
- Exceptions
-
DATA-PROVIDER-ERROR | this object does not support the data provider API |
◆ getImpl()
RestClient RestClient::RestConnection::getImpl |
( |
bool |
connect = True , |
|
|
*hash< auto > |
rtopts |
|
) |
| |
|
privatevirtual |
◆ 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 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 a 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 caller 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); conflicts with validator
"swagger_lax_parsing"
: try to parse invalid Swagger schemas
"timeout"
: transfer timeout to use in milliseconds
"validator"
: an AbstractRestSchemaValidator object to validate request and response messages; conflicts with swagger
- See also
- RestClient::constructor() for more information on the above options
◆ getPollImpl()
object RestClient::RestConnection::getPollImpl |
( |
| ) |
|
Returns an unconnected object for a non-blocking poll operation.
- Returns
- an unconnected object for a non-blocking poll operation
- Since
- RestClient 1.9.1
◆ hasDataProvider()
bool RestClient::RestConnection::hasDataProvider |
( |
| ) |
|
◆ pingImpl()
RestClient::RestConnection::pingImpl |
( |
| ) |
|
|
private |
performs the internal ping
By default this creates a new connection only; override in child classes to implement additional ping logic
◆ processOptions()
static hash< auto > RestClient::RestConnection::processOptions |
( |
*hash< auto > |
opts | ) |
|
|
static |
processes options for the constructor
In particular it parses any string as a value of the "headers"
option to return a hash
◆ startPollConnect()
Called to start a non-blocking polling ping operation on the remote REST server.
- Returns
- a socket poll operation object that will allow the connection goal to be reached with polling
- See also
- supportsPollingApi()