Clients -
http :
CircuitBreakerClient
A Circuit Breaker implementation which can be used to gracefully handle network failures.
Constructor
__init
(string url, ClientEndpointConfig config, CircuitBreakerInferredConfig circuitBreakerInferredConfig, HttpClient httpClient, CircuitHealth circuitHealth)
- url string
-
The URL of the target service
- config ClientEndpointConfig
-
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
Methods
The POST remote function implementation of the Circuit Breaker. This wraps the post()
function of the underlying
HTTP remote functions provider.
The HEAD remote function implementation of the Circuit Breaker. This wraps the head()
function of the underlying
HTTP remote functions provider.
The PUT remote function implementation of the Circuit Breaker. This wraps the put()
function of the underlying
HTTP remote functions provider.
This wraps the post()
function of the underlying HTTP remote functions provider. The execute()
function can
be used to invoke an HTTP call with the given HTTP verb.
The PATCH remote function implementation of the Circuit Breaker. This wraps the patch()
function of the
underlying HTTP remote functions provider.
The DELETE remote function implementation of the Circuit Breaker. This wraps the delete()
function of the
underlying HTTP remote functions provider.
The GET remote function implementation of the Circuit Breaker. This wraps the get()
function of the underlying
HTTP remote functions provider.
The OPTIONS remote function implementation of the Circuit Breaker. This wraps the options()
function of the
underlying HTTP remote functions provider.
This wraps the 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.
Submits an HTTP request to a service with the specified HTTP verb.
The submit()
function does not give out a Response
as the result,
rather it returns an HttpFuture
which can be used to do further interactions with the endpoint.
Retrieves the Response
for a previously submitted request.
Circuit breaking not supported. Defaults to the hasPromise()
function of the underlying HTTP remote functions
provider.
Retrieves the next available PushPromise
for a previously submitted request.
Retrieves the promised server push Response
message.
Circuit breaking not supported. Defaults to the rejectPromise()
function of the underlying HTTP
remote functions provider.
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 CircuitState
of the circuit breaker.
Fields
- url string
-
The URL of the target service
- config ClientEndpointConfig
-
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 CB_CLOSED_STATE
-
The current state the circuit is in
The POST remote function implementation of the Circuit Breaker. This wraps the 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 head()
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 PUT remote function implementation of the Circuit Breaker. This wraps the 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 post()
function of the underlying HTTP remote functions provider. The 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 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 delete()
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 GET remote function implementation of the Circuit Breaker. This wraps the get()
function of the underlying
HTTP remote functions provider.
Parameters
- path string
-
Resource path
- message RequestMessage - ()
-
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 options()
function of the
underlying HTTP remote functions provider.
Parameters
- path string
-
Resource path
- message RequestMessage - ()
-
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 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 submit()
function does not give out a Response
as the result,
rather it returns an 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
HttpFuture
that represents an asynchronous service invocation, or anhttp:ClientError
if the submission fails
Retrieves the Response
for a previously submitted request.
Parameters
- httpFuture HttpFuture
-
The
HttpFuture
related to a previous asynchronous invocation
-
Return Type
(Response | ClientError) An HTTP response message, or an
http:ClientError
if the invocation fails
Circuit breaking not supported. Defaults to the hasPromise()
function of the underlying HTTP remote functions
provider.
Parameters
- httpFuture HttpFuture
-
The
HttpFuture
relates to a previous asynchronous invocation
-
Return Type
(boolean) A
boolean
that represents whether aPushPromise
exists
Retrieves the next available PushPromise
for a previously submitted request.
Parameters
- httpFuture HttpFuture
-
The
HttpFuture
relates to a previous asynchronous invocation
-
Return Type
(PushPromise | ClientError) An HTTP
PushPromise
message, or anhttp:ClientError
if the invocation fails
Retrieves the promised server push Response
message.
Parameters
- promise PushPromise
-
The related
PushPromise
-
Return Type
(Response | ClientError) A promised HTTP
Response
message, or anhttp:ClientError
if the invocation fails
Circuit breaking not supported. Defaults to the rejectPromise()
function of the underlying HTTP
remote functions provider.
Parameters
- promise PushPromise
-
The
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 CircuitState
of the circuit breaker.
-
Return Type
(CircuitState) The current
CircuitState
of circuit breaker