class for REST HTTP connections; returns RestClient::RestClient objects
More...
Inherits ConnectionProvider::HttpBasedConnection.
|
|
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
|
| |
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)
"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()
| DataProvider::AbstractDataProvider RestClient::RestConnection::getDataProvider |
( |
| ) |
|
returns a data provider object for this connection, if supported by any REST schema validator object
- Returns
- a data provider object for this connection, if supported by any REST schema validator object
- Exceptions
-
| DATA-PROVIDER-ERROR | this object does not support the data provider API |
◆ getImpl()
| RestClient RestClient::RestConnection::getImpl |
( |
bool |
connect = True, |
|
|
*hash< auto > |
rtopts |
|
) |
| |
|
protected |
returns a RestClient object
- Parameters
-
| connect | if True, then the connection is returned already connected |
| rtopts | 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)
|
- Returns
- a RestClient object
◆ 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
"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
◆ hasDataProvider()
| bool RestClient::RestConnection::hasDataProvider |
( |
| ) |
|