p

sttp

client

package client

Linear Supertypes
SttpApi, UriInterpolator, SttpExtensions, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. client
  2. SttpApi
  3. UriInterpolator
  4. SttpExtensions
  5. AnyRef
  6. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. abstract class AbstractFetchBackend[F[_], S] extends SttpBackend[F, S, NothingT]

    A backend that uses the fetch JavaScript api.

    A backend that uses the fetch JavaScript api.

    See also

    https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API

  2. sealed trait BasicRequestBody extends RequestBody[Nothing]
  3. sealed trait BasicResponseAs[T, +S] extends ResponseAs[T, S]

    Response handling specification which isn't derived from another response handling method, but needs to be handled directly by the backend.

  4. type BodySerializer[B] = (B) ⇒ BasicRequestBody

    Provide an implicit value of this type to serialize arbitrary classes into a request body.

    Provide an implicit value of this type to serialize arbitrary classes into a request body. Backends might also provide special logic for serializer instances which they define (e.g. to handle streaming).

  5. case class ByteArrayBody(b: Array[Byte], defaultContentType: Option[MediaType] = ...) extends BasicRequestBody with Product with Serializable
  6. case class ByteBufferBody(b: ByteBuffer, defaultContentType: Option[MediaType] = ...) extends BasicRequestBody with Product with Serializable
  7. case class DeserializationError[T](original: String, error: T) extends ResponseError[T] with Product with Serializable
  8. class DigestAuthenticationBackend[F[_], S, WS_HANDLER[_]] extends SttpBackend[F, S, WS_HANDLER]
  9. class EitherBackend[S, WS_HANDLER[_]] extends SttpBackend[[β$0$]Either[Throwable, β$0$], S, WS_HANDLER]

    A synchronous backend that safely wraps SttpBackend exceptions in Either[Throwable, ?]'s

    A synchronous backend that safely wraps SttpBackend exceptions in Either[Throwable, ?]'s

    S

    The type of streams that are supported by the backend. Nothing, if streaming requests/responses is not supported by this backend.

    WS_HANDLER

    The type of websocket handlers, that are supported by this backend. The handler is parametrised by the value that is being returned when the websocket is established. NothingT, if websockets are not supported.

  10. type Empty[X] = None.type
  11. class FetchBackend extends AbstractFetchBackend[Future, Nothing]
  12. final case class FetchOptions(credentials: Option[RequestCredentials], mode: Option[RequestMode]) extends Product with Serializable
  13. case class FileBody(f: SttpFile, defaultContentType: Option[MediaType] = ...) extends BasicRequestBody with Product with Serializable
  14. class FollowRedirectsBackend[F[_], S, WS_HANDLER[_]] extends SttpBackend[F, S, WS_HANDLER]
  15. case class HttpError(body: String) extends ResponseError[Nothing] with Product with Serializable
  16. type Identity[X] = X
  17. case class InputStreamBody(b: InputStream, defaultContentType: Option[MediaType] = ...) extends BasicRequestBody with Product with Serializable
  18. case class MappedResponseAs[T, T2, S](raw: ResponseAs[T, S], g: (T, ResponseMetadata) ⇒ T2) extends ResponseAs[T2, S] with Product with Serializable
  19. case class MultipartBody(parts: Seq[Part[BasicRequestBody]]) extends RequestBody[Nothing] with Product with Serializable
  20. type NothingT[X] = Nothing
  21. type PartialRequest[T, +S] = RequestT[Empty, T, S]
  22. type Request[T, +S] = RequestT[Identity, T, S]
  23. sealed trait RequestBody[+S] extends AnyRef
  24. case class RequestOptions(followRedirects: Boolean, readTimeout: Duration, maxRedirects: Int, redirectToGet: Boolean) extends Product with Serializable
  25. case class RequestT[U[_], T, +S](method: U[Method], uri: U[Uri], body: RequestBody[S], headers: Seq[Header], response: ResponseAs[T, S], options: RequestOptions, tags: Map[String, Any]) extends RequestTExtensions[U, T, S] with Product with Serializable

    U

    Specifies if the method & uri are specified. By default can be either: * Empty, which is a type constructor which always resolves to None. This type of request is aliased to PartialRequest: there's no method and uri specified, and the request cannot be sent. * Id, which is an identity type constructor. This type of request is aliased to Request: the method and uri are specified, and the request can be sent.

    response

    What's the target type to which the response body should be read. Needs to be specified upfront so that the response is always consumed and hence there are no requirements on client code to consume it. An exception to this are streaming responses, which need to fully consumed by the client if such a response type is requested.

    tags

    Request-specific tags which can be used by backends for logging, metrics, etc. Not used by default.

  26. trait RequestTExtensions[U[_], T, +S] extends AnyRef
  27. case class Response[T](body: T, code: StatusCode, statusText: String, headers: Seq[Header], history: List[Response[Unit]]) extends ResponseMetadata with Product with Serializable

    history

    If redirects are followed, and there were redirects, contains responses for the intermediate requests. The first response (oldest) comes first.

  28. sealed trait ResponseAs[T, +S] extends AnyRef

    T

    Target type as which the response will be read.

    S

    If T is a stream, the type of the stream. Otherwise, Nothing.

  29. case class ResponseAsFile(output: SttpFile) extends BasicResponseAs[SttpFile, Nothing] with Product with Serializable
  30. case class ResponseAsFromMetadata[T, S](f: (ResponseMetadata) ⇒ ResponseAs[T, S]) extends ResponseAs[T, S] with Product with Serializable
  31. case class ResponseAsStream[T, S]()(implicit responseIsStream: =:=[S, T]) extends BasicResponseAs[T, S] with Product with Serializable
  32. sealed abstract class ResponseError[+T] extends Exception
  33. trait ResponseMetadata extends HasHeaders
  34. class SpecifyAuthScheme[U[_], T, +S] extends AnyRef
  35. case class StreamBody[S](s: S) extends RequestBody[S] with Product with Serializable
  36. case class StringBody(s: String, encoding: String, defaultContentType: Option[MediaType] = Some(MediaType.TextPlain)) extends BasicRequestBody with Product with Serializable
  37. trait SttpApi extends SttpExtensions with UriInterpolator
  38. trait SttpBackend[F[_], -S, -WS_HANDLER[_]] extends AnyRef

    F

    The type constructor in which responses are wrapped. E.g. Identity for synchronous backends, Future for asynchronous backends.

    S

    The type of streams that are supported by the backend. Nothing, if streaming requests/responses is not supported by this backend.

    WS_HANDLER

    The type of websocket handlers, that are supported by this backend. The handler is parametrised by the value that is being returned when the websocket is established. NothingT, if websockets are not supported.

  39. case class SttpBackendOptions(connectionTimeout: FiniteDuration, proxy: Option[Proxy]) extends Product with Serializable
  40. trait SttpExtensions extends AnyRef
  41. trait ToCurlConverterTestExtension extends AnyRef
  42. case class TooManyRedirectsException(uri: Uri, redirects: Int) extends Exception with Product with Serializable
  43. class TryBackend[S, WS_HANDLER[_]] extends SttpBackend[Try, S, WS_HANDLER]

    A synchronous backend that safely wraps SttpBackend exceptions in Try's

    A synchronous backend that safely wraps SttpBackend exceptions in Try's

    S

    The type of streams that are supported by the backend. Nothing, if streaming requests/responses is not supported by this backend.

    WS_HANDLER

    The type of websocket handlers, that are supported by this backend. The handler is parametrised by the value that is being returned when the websocket is established. NothingT, if websockets are not supported.

  44. implicit class UriContext extends AnyRef
    Definition Classes
    UriInterpolator

Value Members

  1. val DefaultReadTimeout: Duration
    Definition Classes
    SttpApi
  2. def asByteArray: ResponseAs[Either[String, Array[Byte]], Nothing]
    Definition Classes
    SttpApi
  3. def asByteArrayAlways: ResponseAs[Array[Byte], Nothing]
    Definition Classes
    SttpApi
  4. def asEither[L, R, S](onError: ResponseAs[L, S], onSuccess: ResponseAs[R, S]): ResponseAs[Either[L, R], S]
    Definition Classes
    SttpApi
  5. def asFile(file: File): ResponseAs[Either[String, File], Nothing]
    Definition Classes
    SttpExtensions
  6. def asFileAlways(file: File): ResponseAs[File, Nothing]
    Definition Classes
    SttpExtensions
  7. def asParams(charset: String): ResponseAs[Either[String, Seq[(String, String)]], Nothing]

    Use the given charset by default, unless specified otherwise in the response headers.

    Use the given charset by default, unless specified otherwise in the response headers.

    Definition Classes
    SttpApi
  8. def asParams: ResponseAs[Either[String, Seq[(String, String)]], Nothing]

    Use the utf-8 charset by default, unless specified otherwise in the response headers.

    Use the utf-8 charset by default, unless specified otherwise in the response headers.

    Definition Classes
    SttpApi
  9. def asStream[S]: ResponseAs[Either[String, S], S]
    Definition Classes
    SttpApi
  10. def asStreamAlways[S]: ResponseAs[S, S]
    Definition Classes
    SttpApi
  11. def asString(charset: String): ResponseAs[Either[String, String], Nothing]

    Use the given charset by default, unless specified otherwise in the response headers.

    Use the given charset by default, unless specified otherwise in the response headers.

    Definition Classes
    SttpApi
  12. def asString: ResponseAs[Either[String, String], Nothing]

    Use the utf-8 charset by default, unless specified otherwise in the response headers.

    Use the utf-8 charset by default, unless specified otherwise in the response headers.

    Definition Classes
    SttpApi
  13. def asStringAlways(charset: String): ResponseAs[String, Nothing]
    Definition Classes
    SttpApi
  14. def asStringAlways: ResponseAs[String, Nothing]

    Use the utf-8 charset by default, unless specified otherwise in the response headers.

    Use the utf-8 charset by default, unless specified otherwise in the response headers.

    Definition Classes
    SttpApi
  15. val basicRequest: RequestT[Empty, Either[String, String], Nothing]

    A starting request, with the following modification comparing to emptyRequest: Accept-Encoding is set to gzip, deflate (compression/decompression is handled automatically by the library).

    A starting request, with the following modification comparing to emptyRequest: Accept-Encoding is set to gzip, deflate (compression/decompression is handled automatically by the library).

    Reads the response body as an Either[String, String], where Left is used if the status code is non-2xx, and Right otherwise.

    Definition Classes
    SttpApi
  16. val emptyRequest: RequestT[Empty, Either[String, String], Nothing]

    An empty request with no headers.

    An empty request with no headers.

    Reads the response body as an Either[String, String], where Left is used if the status code is non-2xx, and Right otherwise.

    Definition Classes
    SttpApi
  17. def fromMetadata[T, S](f: (ResponseMetadata) ⇒ ResponseAs[T, S]): ResponseAs[T, S]
    Definition Classes
    SttpApi
  18. def ignore: ResponseAs[Unit, Nothing]
    Definition Classes
    SttpApi
  19. def multipart[B](name: String, b: B)(implicit arg0: BodySerializer[B]): Part[BasicRequestBody]

    Content type will be set to application/octet-stream, can be overridden later using the contentType method.

    Content type will be set to application/octet-stream, can be overridden later using the contentType method.

    Definition Classes
    SttpApi
  20. def multipart(name: String, fs: Seq[(String, String)], encoding: String): Part[BasicRequestBody]

    Encodes the given parameters as form data.

    Encodes the given parameters as form data.

    Content type will be set to application/x-www-form-urlencoded, can be overridden later using the contentType method.

    Definition Classes
    SttpApi
  21. def multipart(name: String, fs: Seq[(String, String)]): Part[BasicRequestBody]

    Encodes the given parameters as form data using utf-8.

    Encodes the given parameters as form data using utf-8.

    Content type will be set to application/x-www-form-urlencoded, can be overridden later using the contentType method.

    Definition Classes
    SttpApi
  22. def multipart(name: String, fs: Map[String, String], encoding: String): Part[BasicRequestBody]

    Encodes the given parameters as form data.

    Encodes the given parameters as form data.

    Content type will be set to application/x-www-form-urlencoded, can be overridden later using the contentType method.

    Definition Classes
    SttpApi
  23. def multipart(name: String, fs: Map[String, String]): Part[BasicRequestBody]

    Encodes the given parameters as form data using utf-8.

    Encodes the given parameters as form data using utf-8.

    Content type will be set to application/x-www-form-urlencoded, can be overridden later using the contentType method.

    Definition Classes
    SttpApi
  24. def multipart(name: String, data: InputStream): Part[BasicRequestBody]

    Content type will be set to application/octet-stream, can be overridden later using the contentType method.

    Content type will be set to application/octet-stream, can be overridden later using the contentType method.

    Definition Classes
    SttpApi
  25. def multipart(name: String, data: ByteBuffer): Part[BasicRequestBody]

    Content type will be set to application/octet-stream, can be overridden later using the contentType method.

    Content type will be set to application/octet-stream, can be overridden later using the contentType method.

    Definition Classes
    SttpApi
  26. def multipart(name: String, data: Array[Byte]): Part[BasicRequestBody]

    Content type will be set to application/octet-stream, can be overridden later using the contentType method.

    Content type will be set to application/octet-stream, can be overridden later using the contentType method.

    Definition Classes
    SttpApi
  27. def multipart(name: String, data: String, encoding: String): Part[BasicRequestBody]

    Content type will be set to text/plain with utf-8 encoding, can be overridden later using the contentType method.

    Content type will be set to text/plain with utf-8 encoding, can be overridden later using the contentType method.

    Definition Classes
    SttpApi
  28. def multipart(name: String, data: String): Part[BasicRequestBody]

    Content type will be set to text/plain with utf-8 encoding, can be overridden later using the contentType method.

    Content type will be set to text/plain with utf-8 encoding, can be overridden later using the contentType method.

    Definition Classes
    SttpApi
  29. def multipartFile(name: String, file: File): Part[BasicRequestBody]

    Content type will be set to application/octet-stream, can be overridden later using the contentType method.

    Content type will be set to application/octet-stream, can be overridden later using the contentType method.

    File name will be set to the name of the file.

    Definition Classes
    SttpExtensions
  30. val quickRequest: RequestT[Empty, String, Nothing]

    A starting request which always reads the response body as a string, regardless of the status code.

    A starting request which always reads the response body as a string, regardless of the status code.

    Definition Classes
    SttpApi
  31. object DigestAuthenticationBackend
  32. object FetchBackend
  33. object FetchOptions extends Serializable
  34. object FollowRedirectsBackend
  35. object IgnoreResponse extends BasicResponseAs[Unit, Nothing] with Product with Serializable
  36. object NoBody extends RequestBody[Nothing] with Product with Serializable
  37. object RequestBody
  38. object RequestT extends Serializable
  39. object Response extends Serializable
  40. object ResponseAs
  41. object ResponseAsByteArray extends BasicResponseAs[Array[Byte], Nothing] with Product with Serializable
  42. object ResponseMetadata
  43. object SttpBackendOptions extends Serializable
  44. object quick extends SttpApi

Inherited from SttpApi

Inherited from UriInterpolator

Inherited from SttpExtensions

Inherited from AnyRef

Inherited from Any

Ungrouped