AsyncClient

wvlet.airframe.http.client.AsyncClient

A standard async http client interface for Rx[_]

Attributes

Graph
Supertypes
trait AutoCloseable
class Object
trait Matchable
class Any
Show all
Known subtypes

Members list

Value members

Abstract methods

protected def channel: HttpChannel

Concrete methods

def callInternal[Req, Resp](req: Request, requestSurface: Surface, responseSurface: Surface, requestContent: Req): Rx[Resp]
override def close(): Unit

Attributes

Definition Classes
AutoCloseable
def readAsInternal[Resp](req: Request, responseSurface: Surface): Rx[Resp]
def rpc[Req, Resp](method: RPCMethod, requestContent: Req): Rx[Resp]

Attributes

Throws
RPCException

when RPC request fails

def send(req: Request, context: HttpClientContext): Rx[Response]

Send an HTTP request and get the response in Rx[Response] type.

Send an HTTP request and get the response in Rx[Response] type.

It will return Rx[HttpClientException] for non-successful responses. For example, when receiving non-retryable status code (e.g., 4xx), it will return Rx[HttpClientException]. For server side failures (5xx responses), this continues request retry until the max retry count.

If it exceeds the number of max retry attempts, it will return Rx[HttpClientMaxRetryException].

Attributes

def sendSafe(req: Request, context: HttpClientContext): Rx[Response]

Send an HTTP request and returns a response (or the last response if the request is retried)

Send an HTTP request and returns a response (or the last response if the request is retried)

Attributes

Inherited methods

protected def build(newConfig: HttpClientConfig): ClientImpl

Create a new client sharing the same underlying http client

Create a new client sharing the same underlying http client

Attributes

Inherited from:
HttpClientFactory
inline def call[Req, Resp](req: Request, requestContent: Req): Rx[Resp]

Attributes

Inherited from:
AsyncClientCompat
inline def readAs[Resp](req: Request): Rx[Resp]

Attributes

Inherited from:
AsyncClientCompat
def withCircuitBreaker(filter: CircuitBreaker => CircuitBreaker): ClientImpl

Attributes

Inherited from:
HttpClientFactory
def withClientFilter(filter: RxHttpFilter): ClientImpl

Attributes

Inherited from:
HttpClientFactory
def withClientFilter(filter: HttpClientFilter): ClientImpl

Attributes

Inherited from:
HttpClientFactory
def withConfig(filter: HttpClientConfig => HttpClientConfig): ClientImpl

Attributes

Inherited from:
HttpClientFactory
def withConnectTimeout(duration: Duration): ClientImpl

Attributes

Inherited from:
HttpClientFactory
def withReadTimeout(duration: Duration): ClientImpl

Attributes

Inherited from:
HttpClientFactory
def withRequestFilter(requestFilter: Request => Request): ClientImpl

Attributes

Inherited from:
HttpClientFactory
def withRetryContext(filter: RetryContext => RetryContext): ClientImpl

Attributes

Inherited from:
HttpClientFactory