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 resetTimeMillis
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[]
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[]
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[]
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[]
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[]
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[]
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[]
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[]
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.
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 | error) An
HttpFuture
that represents an asynchronous service invocation, or anerror
if the submission fails
Retrieves the Response
for a previously submitted request.
Parameters
- httpFuture HttpFuture
-
The
HttpFuture
related to a previous asynchronous invocation
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 | error) An HTTP
PushPromise
message, or anerror
if the invocation fails
Retrieves the promised server push Response
message.
Parameters
- promise PushPromise
-
The related
PushPromise
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 resetTimeMillis
interval exceeds.
Provides CircuitState
of the circuit breaker.
-
Return Type
(CircuitState) The current
CircuitState
of circuit breaker