Clients -
http :
CircuitBreakerClient
A Circuit Breaker implementation which can be used to gracefully handle network failures.
Constructor
__init
(string url, ClientConfiguration config, CircuitBreakerInferredConfig circuitBreakerInferredConfig, HttpClient httpClient, CircuitHealth circuitHealth)
- url string
-
The URL of the target service
- config ClientConfiguration
-
The configurations of the client endpoint associated with this
CircuitBreaker
instance
- circuitBreakerInferredConfig CircuitBreakerInferredConfig
-
Configurations derived from the
http:CircuitBreakerConfig
- httpClient HttpClient
-
The underlying
HttpActions
instance, which will be making the actual network calls
- circuitHealth CircuitHealth
-
The circuit health monitor
Methods
The POST remote function implementation of the Circuit Breaker.
The HEAD remote function implementation of the Circuit Breaker.
The PUT remote function implementation of the Circuit Breaker.
This wraps the CircuitBreakerClient.
The PATCH remote function implementation of the Circuit Breaker.
The DELETE remote function implementation of the Circuit Breaker.
The GET remote function implementation of the Circuit Breaker.
The OPTIONS remote function implementation of the Circuit Breaker.
This wraps the CircuitBreakerClient.
Submits an HTTP request to a service with the specified HTTP verb.
Retrieves the http:Response
for a previously-submitted request.
Circuit breaking is not supported.
Retrieves the next available http:PushPromise
for a previously-submitted request.
Retrieves the promised server push Response
message.
Circuit breaking is not supported.
Force the circuit into a closed state in which it will allow requests regardless of the error percentage until the failure threshold exceeds.
Force the circuit into a open state in which it will suspend all requests
until resetTimeInMillis
interval exceeds.
Provides the http:CircuitState
of the circuit breaker.
Fields
- url string
-
The URL of the target service
- config ClientConfiguration
-
The configurations of the client endpoint associated with this
CircuitBreaker
instance
- circuitBreakerInferredConfig CircuitBreakerInferredConfig
-
Configurations derived from
CircuitBreakerConfig
- httpClient HttpClient
-
The underlying
HttpActions
instance which will be making the actual network calls
- circuitHealth CircuitHealth
-
The circuit health monitor
- currentCircuitState CircuitState (default CB_CLOSED_STATE)
-
The current state the circuit is in
The POST remote function implementation of the Circuit Breaker. This wraps the CircuitBreakerClient.post()
function of the underlying HTTP remote functions provider.
Parameters
- path string
-
Resource path
- message RequestMessage
-
A Request or any payload of type
string
,xml
,json
,byte[]
,io:ReadableByteChannel
ormime:Entity[]
-
Return Type
(Response | ClientError) The response for the request or an
http:ClientError
if failed to establish communication with the upstream server
The HEAD remote function implementation of the Circuit Breaker. This wraps the CircuitBreakerClient.head()
function of the underlying HTTP remote functions provider.
Parameters
- path string
-
Resource path
- message RequestMessage (default ())
-
A Request or any payload of type
string
,xml
,json
,byte[]
,io:ReadableByteChannel
ormime:Entity[]
-
Return Type
(Response | ClientError) The response for the request or an
http:ClientError
if failed to establish communication with the upstream server
The PUT remote function implementation of the Circuit Breaker. This wraps the CircuitBreakerClient.put()
function of the underlying HTTP remote functions provider.
Parameters
- path string
-
Resource path
- message RequestMessage
-
A Request or any payload of type
string
,xml
,json
,byte[]
,io:ReadableByteChannel
ormime:Entity[]
-
Return Type
(Response | ClientError) The response for the request or an
http:ClientError
if failed to establish communication with the upstream server
This wraps the CircuitBreakerClient.post()
function of the underlying HTTP remote functions provider.
The CircuitBreakerClient.execute()
function can be used to invoke an HTTP call with the given HTTP verb.
Parameters
- httpVerb string
-
HTTP verb to be used for the request
- path string
-
Resource path
- message RequestMessage
-
A Request or any payload of type
string
,xml
,json
,byte[]
,io:ReadableByteChannel
ormime:Entity[]
-
Return Type
(Response | ClientError) The response for the request or an
http:ClientError
if failed to establish communication with the upstream server
The PATCH remote function implementation of the Circuit Breaker. This wraps the CircuitBreakerClient.patch()
function of the underlying HTTP remote functions provider.
Parameters
- path string
-
Resource path
- message RequestMessage
-
A Request or any payload of type
string
,xml
,json
,byte[]
,io:ReadableByteChannel
ormime:Entity[]
-
Return Type
(Response | ClientError) The response for the request or an
http:ClientError
if failed to establish communication with the upstream server
The DELETE remote function implementation of the Circuit Breaker. This wraps the CircuitBreakerClient.delete()
function of the underlying HTTP remote functions provider.
Parameters
- path string
-
Resource path
- message RequestMessage (default ())
-
A Request or any payload of type
string
,xml
,json
,byte[]
,io:ReadableByteChannel
ormime:Entity[]
-
Return Type
(Response | ClientError) The response for the request or an
http:ClientError
if failed to establish communication with the upstream server
The GET remote function implementation of the Circuit Breaker. This wraps the CircuitBreakerClient.get()
function of the underlying HTTP remote functions provider.
Parameters
- path string
-
Resource path
- message RequestMessage (default ())
-
An optional HTTP request or any payload of type
string
,xml
,json
,byte[]
,io:ReadableByteChannel
ormime:Entity[]
-
Return Type
(Response | ClientError) The response for the request or an
http:ClientError
if failed to establish communication with the upstream server
The OPTIONS remote function implementation of the Circuit Breaker. This wraps the CircuitBreakerClient.options()
function of the underlying HTTP remote functions provider.
Parameters
- path string
-
Resource path
- message RequestMessage (default ())
-
An optional HTTP Request or any payload of type
string
,xml
,json
,byte[]
,io:ReadableByteChannel
ormime:Entity[]
-
Return Type
(Response | ClientError) The response for the request or an
http:ClientError
if failed to establish communication with the upstream server
This wraps the CircuitBreakerClient.forward()
function of the underlying HTTP remote functions provider.
The Forward remote function can be used to forward an incoming request to an upstream service as it is.
-
Return Type
(Response | ClientError) The response for the request or an
http:ClientError
if failed to establish communication with the upstream server
Submits an HTTP request to a service with the specified HTTP verb.
The CircuitBreakerClient.submit()
function does not give out a Response
as the result.
Rather it returns an http:HttpFuture
which can be used to do further interactions with the endpoint.
Parameters
- httpVerb string
-
The HTTP verb value
- path string
-
The resource path
- message RequestMessage
-
An HTTP outbound request message or any payload of type
string
,xml
,json
,byte[]
,io:ReadableByteChannel
ormime:Entity[]
-
Return Type
(HttpFuture | ClientError) An
http:HttpFuture
that represents an asynchronous service invocation or else anhttp:ClientError
if the submission fails
Retrieves the http:Response
for a previously-submitted request.
Parameters
- httpFuture HttpFuture
-
The
http:HttpFuture
related to a previous asynchronous invocation
-
Return Type
(Response | ClientError) An
http:Response
message or else anhttp:ClientError
if the invocation fails
Circuit breaking is not supported. The default value is the CircuitBreakerClient.hasPromise()
function of the underlying
HTTP remote functions provider.
Parameters
- httpFuture HttpFuture
-
The
http:HttpFuture
related to a previous asynchronous invocation
-
Return Type
(boolean) A
boolean
, which represents whether anhttp:PushPromise
exists
Retrieves the next available http:PushPromise
for a previously-submitted request.
Parameters
- httpFuture HttpFuture
-
The
http:HttpFuture
related to a previous asynchronous invocation
-
Return Type
(PushPromise | ClientError) An
http:PushPromise
message or else anhttp:ClientError
if the invocation fails
Retrieves the promised server push Response
message.
Parameters
- promise PushPromise
-
The related
http:PushPromise
-
Return Type
(Response | ClientError) A promised
http:Response
message or else anhttp:ClientError
if the invocation fails
Circuit breaking is not supported. The default value is the CircuitBreakerClient.rejectPromise()
function of the underlying
HTTP remote functions provider.
Parameters
- promise PushPromise
-
The
http:PushPromise
to be rejected
Force the circuit into a closed state in which it will allow requests regardless of the error percentage until the failure threshold exceeds.
Force the circuit into a open state in which it will suspend all requests
until resetTimeInMillis
interval exceeds.
Provides the http:CircuitState
of the circuit breaker.
-
Return Type
(CircuitState) The current
http:CircuitState
of the circuit breaker