RestClient::RestConnection Class Reference

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

Inheritance diagram for RestClient::RestConnection:
[legend]

## 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

  name | the name of the connection
  desc | connection description
  url | connection URL (potentially with password info)
  monitor | monitoring flag
  opts | connection options
  urlh | broken down URL hash (as returned by Qore::parse_url())

## getImpl()

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

private virtual

returns a RestClient::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

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