HttpClient

trait HttpClient[F[_], Req, Resp] extends HttpClientBase[F, Req, Resp] with AutoCloseable

Asynchronous HTTP Client interface

Type parameters:
F

An abstraction for Future type (e.g., Resolves the differences between Twitter Future, Scala Future, etc.)

Companion:
object
trait AutoCloseable
trait HttpClientBase[F, Req, Resp]
class Object
trait Matchable
class Any

Value members

Abstract methods

def send(req: Req, requestFilter: Req => Req): F[Resp]

Send an HTTP request and get the response. It will throw an exception for non successful responses (after reaching the max retry limit)

Send an HTTP request and get the response. It will throw an exception for non successful responses (after reaching the max retry limit)

Throws:
HttpClientException

for non-retryable error is happend

HttpClientMaxRetryException

if max retry reaches

def sendSafe(req: Req, requestFilter: Req => Req): F[Resp]

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)

Concrete methods

def syncClient: HttpSyncClient[Req, Resp]

Inherited methods

def close(): Unit
Inherited from:
AutoCloseable
def delete[OperationResponse](resourcePath: String, requestFilter: Req => Req): F[OperationResponse]
Inherited from:
HttpClientBase
def deleteOps[Resource, OperationResponse](resourcePath: String, resource: Resource, requestFilter: Req => Req): F[OperationResponse]
Inherited from:
HttpClientBase
def deleteRaw(resourcePath: String, requestFilter: Req => Req): F[Resp]
Inherited from:
HttpClientBase
def get[Resource](resourcePath: String, requestFilter: Req => Req): F[Resource]
Inherited from:
HttpClientBase
def getOps[Resource, OperationResponse](resourcePath: String, resource: Resource, requestFilter: Req => Req): F[OperationResponse]
Inherited from:
HttpClientBase
def getResource[ResourceRequest, Resource](resourcePath: String, resourceRequest: ResourceRequest, requestFilter: Req => Req): F[Resource]

Send a get request using the ResourceRequest. ResourceRequest parameters will be expanded as URL query strings

Send a get request using the ResourceRequest. ResourceRequest parameters will be expanded as URL query strings

Inherited from:
HttpClientBase
def list[OperationResponse](resourcePath: String, requestFilter: Req => Req): F[OperationResponse]
Inherited from:
HttpClientBase
def patch[Resource](resourcePath: String, resource: Resource, requestFilter: Req => Req): F[Resource]
Inherited from:
HttpClientBase
def patchOps[Resource, OperationResponse](resourcePath: String, resource: Resource, requestFilter: Req => Req): F[OperationResponse]
Inherited from:
HttpClientBase
def patchRaw[Resource](resourcePath: String, resource: Resource, requestFilter: Req => Req): F[Resp]
Inherited from:
HttpClientBase
def post[Resource](resourcePath: String, resource: Resource, requestFilter: Req => Req): F[Resource]
Inherited from:
HttpClientBase
def postOps[Resource, OperationResponse](resourcePath: String, resource: Resource, requestFilter: Req => Req): F[OperationResponse]
Inherited from:
HttpClientBase
def postRaw[Resource](resourcePath: String, resource: Resource, requestFilter: Req => Req): F[Resp]
Inherited from:
HttpClientBase
def put[Resource](resourcePath: String, resource: Resource, requestFilter: Req => Req): F[Resource]
Inherited from:
HttpClientBase
def putOps[Resource, OperationResponse](resourcePath: String, resource: Resource, requestFilter: Req => Req): F[OperationResponse]
Inherited from:
HttpClientBase
def putRaw[Resource](resourcePath: String, resource: Resource, requestFilter: Req => Req): F[Resp]
Inherited from:
HttpClientBase