Module: Ably::Rest
- Defined in:
- lib/ably/rest.rb,
lib/ably/rest/push.rb,
lib/ably/rest/client.rb,
lib/ably/rest/channel.rb,
lib/ably/rest/channels.rb,
lib/ably/rest/presence.rb,
lib/ably/rest/push/admin.rb,
lib/ably/rest/middleware/logger.rb,
lib/ably/rest/middleware/encoder.rb,
lib/ably/rest/channel/push_channel.rb,
lib/ably/rest/middleware/exceptions.rb,
lib/ably/rest/middleware/parse_json.rb,
lib/ably/rest/push/device_registrations.rb,
lib/ably/rest/push/channel_subscriptions.rb,
lib/ably/rest/middleware/parse_message_pack.rb,
lib/ably/rest/middleware/external_exceptions.rb,
lib/ably/rest/middleware/fail_if_unsupported_mime_type.rb
Overview
Rest provides the top-level class to be instanced for the Ably Rest library
Defined Under Namespace
Modules: Middleware Classes: Channel, Channels, Client, Presence, Push
Class Method Summary collapse
-
.new(options) ⇒ Ably::Rest::Client
Convenience method providing an alias to Client constructor.
Class Method Details
.new(options) ⇒ Ably::Rest::Client
Convenience method providing an alias to Client constructor.
Examples:
# create a new client authenticating with basic auth
client = Ably::Rest.new('key.id:secret')
# create a new client authenticating with basic auth and a client_id
client = Ably::Rest.new(key: 'key.id:secret', client_id: 'john')
Parameters:
-
options
(Hash, String)
—
an options Hash or String used to configure the client and the authentication, or String with an API key or Token ID
Options Hash (options):
-
:tls
(Boolean)
— default:
true
—
When false, TLS is disabled. Please note Basic Auth is disallowed without TLS as secrets cannot be transmitted over unsecured connections.
-
:key
(String)
—
API key comprising the key name and key secret in a single string
-
:token
(String)
—
Token string or Models::TokenDetails used to authenticate requests
-
:token_details
(String)
—
Models::TokenDetails used to authenticate requests
-
:use_token_auth
(Boolean)
—
Will force Basic Auth if set to false, and Token auth if set to true
-
:environment
(String)
—
Specify ‘sandbox’ when testing the client library against an alternate Ably environment
-
:protocol
(Symbol)
— default:
:msgpack
—
Protocol used to communicate with Ably, :json and :msgpack currently supported
-
:use_binary_protocol
(Boolean)
— default:
true
—
When true will use the MessagePack binary protocol, when false it will use JSON encoding. This option will overide :protocol option
-
:log_level
(Logger::Severity, Symbol)
— default:
Logger::WARN
—
Log level for the standard Logger that outputs to STDOUT. Can be set to :fatal (Logger::FATAL), :error (Logger::ERROR), :warn (Logger::WARN), :info (Logger::INFO), :debug (Logger::DEBUG) or :none
-
:logger
(Logger)
—
A custom logger can be used however it must adhere to the Ruby Logger interface, see www.ruby-doc.org/stdlib-3.1.1/libdoc/logger/rdoc/Logger.html
-
:client_id
(String)
—
client ID identifying this connection to other clients
-
:auth_url
(String)
—
a URL to be used to GET or POST a set of token request params, to obtain a signed token request
-
:auth_headers
(Hash)
—
a set of application-specific headers to be added to any request made to the
auth_url
-
:auth_params
(Hash)
—
a set of application-specific query params to be added to any request made to the
auth_url
-
:auth_method
(Symbol)
— default:
:get
—
HTTP method to use with
auth_url
, must be either:get
or:post
-
:auth_callback
(Proc)
—
when provided, the Proc will be called with the token params hash as the first argument, whenever a new token is required. The Proc should return a token string, Models::TokenDetails or JSON equivalent, Models::TokenRequest or JSON equivalent
-
:query_time
(Boolean)
—
when true will query the Ably system for the current time instead of using the local time
-
:default_token_params
(Hash)
—
convenience to pass in
token_params
that will be used as a default for all token requests. See Auth#create_token_request -
:http_open_timeout
(Integer)
— default:
4 seconds
—
timeout in seconds for opening an HTTP connection for all HTTP requests
-
:http_request_timeout
(Integer)
— default:
10 seconds
—
timeout in seconds for any single complete HTTP request and response
-
:http_max_retry_count
(Integer)
— default:
3
—
maximum number of fallback host retries for HTTP requests that fail due to network issues or server problems
-
:http_max_retry_duration
(Integer)
— default:
15 seconds
—
maximum elapsed time in which fallback host retries for HTTP requests will be attempted i.e. if the first default host attempt takes 5s, and then the subsequent fallback retry attempt takes 7s, no further fallback host attempts will be made as the total elapsed time of 12s exceeds the default 10s limit
-
:fallback_hosts_use_default
(Boolean)
— default:
false
—
When true, forces the user of fallback hosts even if a non-default production endpoint is being used
-
:fallback_hosts
(Array<String>)
—
When an array of fallback hosts are provided, these fallback hosts are always used if a request fails to the primary endpoint. If an empty array is provided, the fallback host functionality is disabled
-
:fallback_retry_timeout
(Integer)
— default:
600 seconds
—
amount of time in seconds a REST client will continue to use a working fallback host when the primary fallback host has previously failed
-
:add_request_ids
(Boolean)
— default:
false
—
When true, adds a unique request_id to each request sent to Ably servers. This is handy when reporting issues, because you can refer to a specific request.
-
:idempotent_rest_publishing
(Boolean)
— default:
false if ver < 1.2
—
When true, idempotent publishing is enabled for all messages published via REST
-
:max_message_size
(Integer)
— default:
65536 bytes
—
Maximum size of all messages when publishing via REST publish()
-
:max_frame_size
(Integer)
— default:
524288 bytes
—
Maximum size of frame
Returns:
36 37 38 |
# File 'lib/ably/rest.rb', line 36 def self.new(options) Ably::Rest::Client.new(options) end |