package sttp

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

Package Members

  1. package internal
  2. package testing

Type Members

  1. sealed trait BasicRequestBody extends RequestBody[Nothing]
  2. 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.

  3. 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).

  4. case class ByteArrayBody(b: Array[Byte], defaultContentType: Option[String] = Some(MediaTypes.Binary)) extends BasicRequestBody with Product with Serializable
  5. case class ByteBufferBody(b: ByteBuffer, defaultContentType: Option[String] = Some(MediaTypes.Binary)) extends BasicRequestBody with Product with Serializable
  6. case class Cookie(name: String, value: String, expires: Option[ZonedDateTime] = None, maxAge: Option[Long] = None, domain: Option[String] = None, path: Option[String] = None, secure: Boolean = false, httpOnly: Boolean = false) extends Product with Serializable
  7. case class DeserializationError[T](original: String, error: T, message: String) extends Product with Serializable
  8. class EitherBackend[S] extends SttpBackend[[β$0$]Either[Throwable, β$0$], S]

    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.

  9. type Empty[X] = None.type
  10. case class FileBody(f: SttpFile, defaultContentType: Option[String] = Some(MediaTypes.Binary)) extends BasicRequestBody with Product with Serializable
  11. class FollowRedirectsBackend[R[_], S] extends SttpBackend[R, S]
  12. class FutureMonad extends MonadAsyncError[Future]
  13. trait HeaderNames extends AnyRef
  14. class HttpURLConnectionBackend extends SttpBackend[Id, Nothing]
  15. type Id[X] = X
  16. case class InputStreamBody(b: InputStream, defaultContentType: Option[String] = Some(MediaTypes.Binary)) extends BasicRequestBody with Product with Serializable
  17. case class MappedResponseAs[T, T2, S](raw: BasicResponseAs[T, S], g: (T, ResponseMetadata) => T2) extends ResponseAs[T2, S] with Product with Serializable
  18. trait MediaTypes extends AnyRef
  19. final case class Method(m: String) extends AnyVal with Product with Serializable
  20. trait MonadAsyncError[R[_]] extends MonadError[R]
  21. trait MonadError[R[_]] extends AnyRef
  22. case class Multipart(name: String, body: BasicRequestBody, fileName: Option[String] = None, contentType: Option[String] = None, additionalHeaders: Map[String, String] = Map()) extends Product with Serializable

    Use the factory methods multipart to conveniently create instances of this class.

    Use the factory methods multipart to conveniently create instances of this class. A part can be then further customised using fileName, contentType and header methods.

  23. case class MultipartBody(parts: Seq[Multipart]) extends RequestBody[Nothing] with Product with Serializable
  24. type PartialRequest[T, +S] = RequestT[Empty, T, S]
  25. type Request[T, +S] = RequestT[Id, T, S]
  26. sealed trait RequestBody[+S] extends AnyRef
  27. case class RequestOptions(followRedirects: Boolean, readTimeout: Duration, maxRedirects: Int, parseResponseIf: (ResponseMetadata) => Boolean, redirectToGet: Boolean) extends Product with Serializable
  28. case class RequestT[U[_], T, +S](method: U[Method], uri: U[Uri], body: RequestBody[S], headers: Seq[(String, String)], 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.

  29. trait RequestTExtensions[U[_], T, +S] extends AnyRef
  30. case class Response[T](rawErrorBody: Either[Array[Byte], T], code: StatusCode, statusText: String, headers: Seq[(String, String)], history: List[Response[Unit]]) extends ResponseExtensions[T] with ResponseMetadata with Product with Serializable

    rawErrorBody

    Right(T), if the request was successful (status code 2xx). The body is then handled as specified in the request. Left(Array[Byte]), if the request wasn't successful (status code 3xx, 4xx or 5xx).

    history

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

  31. 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.

  32. case class ResponseAsFile(output: SttpFile, overwrite: Boolean) extends BasicResponseAs[SttpFile, Nothing] with Product with Serializable
  33. case class ResponseAsStream[T, S]()(implicit responseIsStream: =:=[S, T]) extends BasicResponseAs[T, S] with Product with Serializable
  34. case class ResponseAsString(encoding: String) extends BasicResponseAs[String, Nothing] with Product with Serializable
  35. trait ResponseExtensions[T] extends AnyRef
  36. trait ResponseMetadata extends AnyRef
  37. class SpecifyAuthScheme[U[_], T, +S] extends AnyRef
  38. type StatusCode = Int
  39. trait StatusCodes extends AnyRef
  40. case class StreamBody[S](s: S) extends RequestBody[S] with Product with Serializable
  41. case class StringBody(s: String, encoding: String, defaultContentType: Option[String] = Some(MediaTypes.Text)) extends BasicRequestBody with Product with Serializable
  42. trait SttpApi extends SttpExtensions
  43. implicit class UriContext extends AnyRef
    Definition Classes
    SttpApi
  44. trait SttpBackend[R[_], -S] extends AnyRef

    R

    The type constructor in which responses are wrapped. E.g. Id 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.

  45. case class SttpBackendOptions(connectionTimeout: FiniteDuration, proxy: Option[Proxy]) extends Product with Serializable
  46. trait SttpExtensions extends AnyRef
  47. class ToCurlConverter[R <: RequestT[Id, _, _]] extends AnyRef
  48. class TryBackend[S] extends SttpBackend[Try, S]

    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.

  49. case class Uri(scheme: String, userInfo: Option[UserInfo], host: String, port: Option[Int], path: Seq[String], queryFragments: Seq[QueryFragment], fragment: Option[String]) extends Product with Serializable

    A URI.

    A URI. All components (scheme, host, query, ...) are stored unencoded, and become encoded upon serialization (using toString).

    queryFragments

    Either key-value pairs, single values, or plain query fragments. Key value pairs will be serialized as k=v, and blocks of key-value pairs/single values will be combined using &. Note that no & or other separators are added around plain query fragments - if required, they need to be added manually as part of the plain query fragment.

Value Members

  1. val DefaultReadTimeout: Duration
    Definition Classes
    SttpApi
  2. def asByteArray: ResponseAs[Array[Byte], Nothing]
    Definition Classes
    SttpApi
  3. def asFile(file: File, overwrite: Boolean = false): ResponseAs[File, Nothing]
    Definition Classes
    SttpExtensions
  4. def asParams(encoding: String): ResponseAs[Seq[(String, String)], Nothing]

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

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

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

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

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

    Definition Classes
    SttpApi
  6. def asPath(path: Path, overwrite: Boolean = false): ResponseAs[Path, Nothing]
    Definition Classes
    SttpExtensions
  7. def asStream[S]: ResponseAs[S, S]
    Definition Classes
    SttpApi
  8. def asString(encoding: String): ResponseAs[String, Nothing]

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

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

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

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

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

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

    An empty request with no headers.

    An empty request with no headers.

    Definition Classes
    SttpApi
  11. def ignore: ResponseAs[Unit, Nothing]
    Definition Classes
    SttpApi
  12. def multipart[B](name: String, b: B)(implicit arg0: BodySerializer[B]): Multipart

    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
  13. def multipart(name: String, fs: Seq[(String, String)], encoding: String): Multipart

    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
  14. def multipart(name: String, fs: Seq[(String, String)]): Multipart

    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
  15. def multipart(name: String, fs: Map[String, String], encoding: String): Multipart

    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
  16. def multipart(name: String, fs: Map[String, String]): Multipart

    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
  17. def multipart(name: String, data: InputStream): Multipart

    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
  18. def multipart(name: String, data: ByteBuffer): Multipart

    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
  19. def multipart(name: String, data: Array[Byte]): Multipart

    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, data: String, encoding: String): Multipart

    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
  21. def multipart(name: String, data: String): Multipart

    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
  22. def multipartFile(name: String, data: Path): Multipart

    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
  23. def multipartFile(name: String, data: File): Multipart

    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
  24. val sttp: RequestT[Empty, String, Nothing]

    A starting request, with the following modifications comparing to emptyRequest:

    A starting request, with the following modifications comparing to emptyRequest:

    - Accept-Encoding set to gzip, deflate (handled automatically by the library)

    Definition Classes
    SttpApi
  25. object Cookie extends Serializable
  26. object EitherMonad extends MonadError[[β$0$]Either[Throwable, β$0$]]
  27. object FileHelpers
  28. object FollowRedirectsBackend
  29. object HeaderNames extends HeaderNames
  30. object HttpURLConnectionBackend
  31. object IdMonad extends MonadError[Id]
  32. object IgnoreResponse extends BasicResponseAs[Unit, Nothing] with Product with Serializable
  33. object MediaTypes extends MediaTypes
  34. object Method extends Serializable
  35. object NoBody extends RequestBody[Nothing] with Product with Serializable
  36. object RequestBody
  37. object Response extends Serializable
  38. object ResponseAs
  39. object ResponseAsByteArray extends BasicResponseAs[Array[Byte], Nothing] with Product with Serializable
  40. object ResponseMetadata
  41. object Rfc3986
  42. object Rfc3986Compatibility
  43. object StatusCodes extends StatusCodes
  44. object SttpBackendOptions extends Serializable
  45. object ToCurlConverter
  46. object TryHttpURLConnectionBackend
  47. object TryMonad extends MonadError[Try]
  48. object Uri extends Serializable
  49. object UriInterpolator
  50. object monadSyntax
  51. object quick extends SttpApi

Inherited from SttpApi

Inherited from SttpExtensions

Inherited from AnyRef

Inherited from Any

Ungrouped