Client: CircuitBreakerClient
A Circuit Breaker implementation which can be used to gracefully handle network failures.
Remote Methods
post | The POST remote function implementation of the Circuit Breaker. |
head | The HEAD remote function implementation of the Circuit Breaker. |
put | The PUT remote function implementation of the Circuit Breaker. |
execute | This wraps the |
patch | The PATCH remote function implementation of the Circuit Breaker. |
delete | The DELETE remote function implementation of the Circuit Breaker. |
get | The GET remote function implementation of the Circuit Breaker. |
options | The OPTIONS remote function implementation of the Circuit Breaker. |
forward | This wraps the |
submit | Submits an HTTP request to a service with the specified HTTP verb. |
getResponse | Retrieves the |
hasPromise | Circuit breaking is not supported. |
getNextPromise | Retrieves the next available |
getPromisedResponse | Retrieves the promised server push |
rejectPromise | Circuit breaking is not supported. |
Methods
forceClose | Force the circuit into a closed state in which it will allow requests regardless of the error percentage until the failure threshold exceeds. |
forceOpen | Force the circuit into a open state in which it will suspend all requests
until |
getCurrentState | Provides the |
Fields
- httpClient HttpClient
The underlying HttpActions
instance which will be making the actual network calls
post
function post(string path, RequestMessage message) returns Response | ClientError
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
An HTTP outbound request or any allowed payload
Return Type
(Response | ClientError)The response or an http:ClientError
if failed to establish the communication with the upstream server
head
function head(string path, RequestMessage message) returns Response | ClientError
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 ())
An optional HTTP outbound request or any allowed payload
Return Type
(Response | ClientError)The response or an http:ClientError
if failed to establish the communication with the upstream server
put
function put(string path, RequestMessage message) returns Response | ClientError
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
An HTTP outbound request or any allowed payload
Return Type
(Response | ClientError)The response or an http:ClientError
if failed to establish the communication with the upstream server
execute
function execute(string httpVerb, string path, RequestMessage message) returns Response | ClientError
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
An HTTP outbound request or any allowed payload
Return Type
(Response | ClientError)The response or an http:ClientError
if failed to establish the communication with the upstream server
patch
function patch(string path, RequestMessage message) returns Response | ClientError
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
An HTTP outbound request or any allowed payload
Return Type
(Response | ClientError)The response or an http:ClientError
if failed to establish the communication with the upstream server
delete
function delete(string path, RequestMessage message) returns Response | ClientError
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 ())
An optional HTTP outbound request or any allowed payload
Return Type
(Response | ClientError)The response or an http:ClientError
if failed to establish the communication with the upstream server
get
function get(string path, RequestMessage message) returns Response | ClientError
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 outbound request or any allowed payload
Return Type
(Response | ClientError)The response or an http:ClientError
if failed to establish the communication with the upstream server
options
function options(string path, RequestMessage message) returns Response | ClientError
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 outbound request or any allowed payload
Return Type
(Response | ClientError)The response or an http:ClientError
if failed to establish the communication with the upstream server
forward
function forward(string path, Request request) returns Response | ClientError
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 or an http:ClientError
if failed to establish the communication with the upstream server
submit
function submit(string httpVerb, string path, RequestMessage message) returns HttpFuture | ClientError
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 or any allowed payload
Return Type
(HttpFuture | ClientError)An http:HttpFuture
that represents an asynchronous service invocation or else an http:ClientError
if the submission
fails
getResponse
function getResponse(HttpFuture httpFuture) returns Response | ClientError
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 an http:ClientError
if the invocation fails
hasPromise
function hasPromise(HttpFuture httpFuture) returns boolean
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
getNextPromise
function getNextPromise(HttpFuture httpFuture) returns PushPromise | ClientError
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 an http:ClientError
if the invocation fails
getPromisedResponse
function getPromisedResponse(PushPromise promise) returns Response | ClientError
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 an http:ClientError
if the invocation fails
rejectPromise
function rejectPromise(PushPromise promise)
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
forceClose
function forceClose()
Force the circuit into a closed state in which it will allow requests regardless of the error percentage until the failure threshold exceeds.
forceOpen
function forceOpen()
Force the circuit into a open state in which it will suspend all requests
until resetTime
interval exceeds.
getCurrentState
function getCurrentState() returns CircuitState
Provides the http:CircuitState
of the circuit breaker.