SyncClientImpl

wvlet.airframe.http.client.SyncClientImpl
class SyncClientImpl(val channel: HttpChannel, val config: HttpClientConfig) extends SyncClient

Attributes

Graph
Supertypes
trait SyncClient
trait AutoCloseable
class Object
trait Matchable
class Any
Show all

Members list

Value members

Concrete methods

override def close(): Unit

Attributes

Definition Classes
SyncClient -> AutoCloseable

Inherited methods

inline def call[Req, Resp](req: Request, requestContent: Req): Resp

Attributes

Inherited from:
SyncClientCompat
def callInternal[Req, Resp](req: Request, requestSurface: Surface, responseSurface: Surface, requestContent: Req): Resp

Attributes

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

Read the response as a specified type

Read the response as a specified type

Attributes

Returns

a response translated to the specified type

Throws
HttpClientException

if failed to read or process the response

Inherited from:
SyncClientCompat
def readAsInternal[Resp](req: Request, responseSurface: Surface): Resp

Attributes

Inherited from:
SyncClient
def rpc[Req, Resp](method: RPCMethod, requestContent: Req): Resp

Send an RPC request (POST) and return the RPC response. This method will throw RPCException when an error happens

Send an RPC request (POST) and return the RPC response. This method will throw RPCException when an error happens

Attributes

Throws
RPCException

when RPC request fails

Inherited from:
SyncClient
def send(req: Request, context: HttpClientContext): Response

Send an HTTP request and get the response. It will throw an exception for non-successful responses. For example, when receiving non-retryable status code (e.g., 4xx), it will throw HttpClientException. For server side failures (5xx responses), this continues request retry until the max retry count.

Send an HTTP request and get the response. It will throw an exception for non-successful responses. For example, when receiving non-retryable status code (e.g., 4xx), it will throw 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, HttpClientMaxRetryException will be thrown.

Attributes

Throws
HttpClientException

for non-retryable error is occurred

HttpClientMaxRetryException

if max retry reaches

Inherited from:
SyncClient

Send an HTTP request and returns a response (or the last response if the request is retried). Unlike send, this method returns a regular Http Response object even for non-retryable responses (e.g., 4xx error code). For retryable responses (e.g., 5xx) this continues retry until the max retry count.

Send an HTTP request and returns a response (or the last response if the request is retried). Unlike send, this method returns a regular Http Response object even for non-retryable responses (e.g., 4xx error code). For retryable responses (e.g., 5xx) this continues retry until the max retry count.

After reaching the max retry count, it will return a the last response even for 5xx status code.

Attributes

Inherited from:
SyncClient
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

Concrete fields