Class: Hoodoo::Services::Discovery::ForHTTP
- Inherits:
-
Object
- Object
- Hoodoo::Services::Discovery::ForHTTP
- Defined in:
- lib/hoodoo/services/discovery/results/for_http.rb
Overview
Describe a resource endpoint location in a way that allows it to be contacted over HTTP.
Instance Attribute Summary collapse
-
#ca_file ⇒ Object
An optional String indicating a relative or absolute file path to the location of a .pem format Certificate Authority file (trust store), which may include multliple certificates.
-
#endpoint_uri ⇒ Object
Full URI (as a URI object) at which the resource endpoint implementation can be contacted.
-
#http_open_timeout ⇒ Object
Optional Float indicating the Net::HTTP open timeout value.
-
#http_timeout ⇒ Object
Optional Float indicating the Net::HTTP read timeout value.
-
#proxy_uri ⇒ Object
Full URI (as a URI object) of an HTTP proxy to use as an override to
ENV['HTTP_PROXY']
which Ruby itself will otherwise read. -
#resource ⇒ Object
The resource name described, as a Symbol (e.g.
:Purchase
). -
#version ⇒ Object
Resource endpoint version, as an Integer (e.g. 2).
Instance Method Summary collapse
-
#initialize(resource:, version:, endpoint_uri:, proxy_uri: nil, ca_file: nil, http_timeout: nil, http_open_timeout: nil) ⇒ ForHTTP
constructor
Create an instance with named parameters as follows:.
Constructor Details
#initialize(resource:, version:, endpoint_uri:, proxy_uri: nil, ca_file: nil, http_timeout: nil, http_open_timeout: nil) ⇒ ForHTTP
Create an instance with named parameters as follows:
resource
-
See #resource.
version
-
See #version.
endpoint_uri
-
See #endpoint_uri.
proxy_uri
-
See #proxy_uri. Optional.
ca_file
-
See #ca_file. Optional.
http_timeout
-
See #http_timeout. Optional.
http_open_timeout
-
See #http_open_timeout. Optional.
95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 |
# File 'lib/hoodoo/services/discovery/results/for_http.rb', line 95 def initialize( resource:, version:, endpoint_uri:, proxy_uri: nil, ca_file: nil, http_timeout: nil, http_open_timeout: nil ) self.resource = resource.to_sym self.version = version.to_i self.endpoint_uri = endpoint_uri self.proxy_uri = proxy_uri self.ca_file = ca_file self.http_timeout = http_timeout self.http_open_timeout = http_open_timeout end |
Instance Attribute Details
#ca_file ⇒ Object
An optional String indicating a relative or absolute file path to the location of a .pem format Certificate Authority file (trust store), which may include multliple certificates. The certificates in the file will be used by Net::HTTP to validate the SSL Ceritificate Chain presented by remote servers, when calling endpoints over HTTPS with Hoodoo::Client.
Default nil
value should be used in nearly all cases and uses Ruby OpenSSL defaults which are generally Operating System provided.
51 52 53 |
# File 'lib/hoodoo/services/discovery/results/for_http.rb', line 51 def ca_file @ca_file end |
#endpoint_uri ⇒ Object
Full URI (as a URI object) at which the resource endpoint implementation can be contacted.
31 32 33 |
# File 'lib/hoodoo/services/discovery/results/for_http.rb', line 31 def endpoint_uri @endpoint_uri end |
#http_open_timeout ⇒ Object
Optional Float indicating the Net::HTTP open timeout value.
This is a value in seconds (default 60) for which the client will wait while attempting to connect to a server.
If the connection attempt is still running after the timeout, the request is aborted and a platform.timeout
error returned.
See also #http_timeout.
This operates at the HTTP transport level and is independent of any higher level timeouts that might be set up.
83 84 85 |
# File 'lib/hoodoo/services/discovery/results/for_http.rb', line 83 def http_open_timeout @http_open_timeout end |
#http_timeout ⇒ Object
Optional Float indicating the Net::HTTP read timeout value.
This is a value in seconds (default 60) for which the client will wait while attempting to read data from a server in any individual TCP read operation. The timeout becomes active immediately after a server connection is established.
If a read attempt is still running after the timeout, the request is aborted and a platform.timeout
error returned.
See also #http_open_timeout.
This operates at the HTTP transport level and is independent of any higher level timeouts that might be set up.
68 69 70 |
# File 'lib/hoodoo/services/discovery/results/for_http.rb', line 68 def http_timeout @http_timeout end |
#proxy_uri ⇒ Object
Full URI (as a URI object) of an HTTP proxy to use as an override to ENV['HTTP_PROXY']
which Ruby itself will otherwise read. Will be nil
for no proxy override.
37 38 39 |
# File 'lib/hoodoo/services/discovery/results/for_http.rb', line 37 def proxy_uri @proxy_uri end |
#resource ⇒ Object
The resource name described, as a Symbol (e.g. :Purchase
).
22 23 24 |
# File 'lib/hoodoo/services/discovery/results/for_http.rb', line 22 def resource @resource end |
#version ⇒ Object
Resource endpoint version, as an Integer (e.g. 2).
26 27 28 |
# File 'lib/hoodoo/services/discovery/results/for_http.rb', line 26 def version @version end |