diff --git a/README.md b/README.md index 25402524eb..21f9fcbaf7 100755 --- a/README.md +++ b/README.md @@ -45,14 +45,14 @@ sttp (v2) documentation is available at [sttp.softwaremill.com/en/v2](http://stt sttp (v1) documentation is available at [sttp.softwaremill.com/en/v1](https://sttp.softwaremill.com/en/v1). -scaladoc is available at [https://www.javadoc.io](https://www.javadoc.io/doc/com.softwaremill.sttp.client3/core_2.12/3.4.0) +scaladoc is available at [https://www.javadoc.io](https://www.javadoc.io/doc/com.softwaremill.sttp.client3/core_2.12/3.4.1) ## Quickstart with Ammonite If you are an [Ammonite](http://ammonite.io) user, you can quickly start experimenting with sttp by copy-pasting the following: ```scala -import $ivy.`com.softwaremill.sttp.client3::core:3.4.0` +import $ivy.`com.softwaremill.sttp.client3::core:3.4.1` import sttp.client3.quick._ quickRequest.get(uri"http://httpbin.org/ip").send(backend) ``` @@ -64,7 +64,7 @@ This brings in the sttp API and a synchronous backend instance. Add the following dependency: ```scala -"com.softwaremill.sttp.client3" %% "core" % "3.4.0" +"com.softwaremill.sttp.client3" %% "core" % "3.4.1" ``` Then, import: @@ -98,7 +98,7 @@ The documentation is typechecked using [mdoc](https://scalameta.org/mdoc/). The When generating documentation, it's best to set the version to the current one, so that the generated doc files don't include modifications with the current snapshot version. -That is, in sbt run: `set version := "3.4.0"`, before running `mdoc` in `docs`. +That is, in sbt run: `set version := "3.4.1"`, before running `mdoc` in `docs`. ### Testing the Scala.JS backend diff --git a/generated-docs/out/backends/akka.md b/generated-docs/out/backends/akka.md index ff2615b844..982d9db745 100644 --- a/generated-docs/out/backends/akka.md +++ b/generated-docs/out/backends/akka.md @@ -3,7 +3,7 @@ This backend is based on [akka-http](http://doc.akka.io/docs/akka-http/current/scala/http/). To use, add the following dependency to your project: ``` -"com.softwaremill.sttp.client3" %% "akka-http-backend" % "3.4.0" +"com.softwaremill.sttp.client3" %% "akka-http-backend" % "3.4.1" ``` A fully **asynchronous** backend. Uses the `Future` effect to return responses. There are also [other `Future`-based backends](future.md), which don't depend on Akka. diff --git a/generated-docs/out/backends/catseffect.md b/generated-docs/out/backends/catseffect.md index 9b0b8203e6..98d4e2e525 100644 --- a/generated-docs/out/backends/catseffect.md +++ b/generated-docs/out/backends/catseffect.md @@ -9,9 +9,9 @@ Note that all [fs2](fs2.md) backends also support any cats-effect effect, additi To use, add the following dependency to your project: ```scala -"com.softwaremill.sttp.client3" %% "async-http-client-backend-cats" % "3.4.0" // for cats-effect 3.x +"com.softwaremill.sttp.client3" %% "async-http-client-backend-cats" % "3.4.1" // for cats-effect 3.x // or -"com.softwaremill.sttp.client3" %% "async-http-client-backend-cats-ce2" % "3.4.0" // for cats-effect 2.x +"com.softwaremill.sttp.client3" %% "async-http-client-backend-cats-ce2" % "3.4.1" // for cats-effect 2.x ``` This backend depends on [async-http-client](https://github.com/AsyncHttpClient/async-http-client), uses [Netty](http://netty.io) behind the scenes. @@ -83,9 +83,9 @@ val backend = AsyncHttpClientCatsBackend.usingClient[IO](asyncHttpClient) To use, add the following dependency to your project: ```scala -"com.softwaremill.sttp.client3" %% "armeria-backend-cats" % "3.4.0" // for cats-effect 3.x +"com.softwaremill.sttp.client3" %% "armeria-backend-cats" % "3.4.1" // for cats-effect 3.x // or -"com.softwaremill.sttp.client3" %% "armeria-backend-cats-ce2" % "3.4.0" // for cats-effect 2.x +"com.softwaremill.sttp.client3" %% "armeria-backend-cats-ce2" % "3.4.1" // for cats-effect 2.x ``` create client: diff --git a/generated-docs/out/backends/finagle.md b/generated-docs/out/backends/finagle.md index e5429f9fac..98884f010d 100644 --- a/generated-docs/out/backends/finagle.md +++ b/generated-docs/out/backends/finagle.md @@ -3,7 +3,7 @@ To use, add the following dependency to your project: ``` -"com.softwaremill.sttp.client3" %% "finagle-backend" % "3.4.0" +"com.softwaremill.sttp.client3" %% "finagle-backend" % "3.4.1" ``` Next you'll need to add an implicit value: diff --git a/generated-docs/out/backends/fs2.md b/generated-docs/out/backends/fs2.md index ad1b37c535..f63b711fc0 100644 --- a/generated-docs/out/backends/fs2.md +++ b/generated-docs/out/backends/fs2.md @@ -7,9 +7,9 @@ The [fs2](https://github.com/functional-streams-for-scala/fs2) backend is **asyn To use, add the following dependency to your project: ```scala -"com.softwaremill.sttp.client3" %% "async-http-client-backend-fs2" % "3.4.0" // for cats-effect 3.x & fs2 3.x +"com.softwaremill.sttp.client3" %% "async-http-client-backend-fs2" % "3.4.1" // for cats-effect 3.x & fs2 3.x // or -"com.softwaremill.sttp.client3" %% "async-http-client-backend-fs2-ce2" % "3.4.0" // for cats-effect 2.x & fs2 2.x +"com.softwaremill.sttp.client3" %% "async-http-client-backend-fs2-ce2" % "3.4.1" // for cats-effect 2.x & fs2 2.x ``` This backend depends on [async-http-client](https://github.com/AsyncHttpClient/async-http-client) and uses [Netty](http://netty.io) behind the scenes. @@ -88,9 +88,9 @@ val backend = AsyncHttpClientFs2Backend.usingClient[IO](asyncHttpClient, dispatc To use, add the following dependency to your project: ```scala -"com.softwaremill.sttp.client3" %% "httpclient-backend-fs2" % "3.4.0" // for cats-effect 3.x & fs2 3.x +"com.softwaremill.sttp.client3" %% "httpclient-backend-fs2" % "3.4.1" // for cats-effect 3.x & fs2 3.x // or -"com.softwaremill.sttp.client3" %% "httpclient-backend-fs2-ce2" % "3.4.0" // for cats-effect 2.x & fs2 2.x +"com.softwaremill.sttp.client3" %% "httpclient-backend-fs2-ce2" % "3.4.1" // for cats-effect 2.x & fs2 2.x ``` Create the backend using a cats-effect `Resource`: @@ -140,9 +140,9 @@ jdk.httpclient.allowRestrictedHeaders=host To use, add the following dependency to your project: ```scala -"com.softwaremill.sttp.client3" %% "armeria-backend-fs2" % "3.4.0" // for cats-effect 3.x & fs2 3.x +"com.softwaremill.sttp.client3" %% "armeria-backend-fs2" % "3.4.1" // for cats-effect 3.x & fs2 3.x // or -"com.softwaremill.sttp.client3" %% "armeria-backend-fs2" % "3.4.0" // for cats-effect 2.x & fs2 2.x +"com.softwaremill.sttp.client3" %% "armeria-backend-fs2" % "3.4.1" // for cats-effect 2.x & fs2 2.x ``` create client: diff --git a/generated-docs/out/backends/future.md b/generated-docs/out/backends/future.md index 5703a963d4..efb176aa3e 100644 --- a/generated-docs/out/backends/future.md +++ b/generated-docs/out/backends/future.md @@ -21,7 +21,7 @@ Class Supported stream type To use, add the following dependency to your project: ```scala -"com.softwaremill.sttp.client3" %% "async-http-client-backend-future" % "3.4.0" +"com.softwaremill.sttp.client3" %% "async-http-client-backend-future" % "3.4.1" ``` And some imports: @@ -72,7 +72,7 @@ val backend = AsyncHttpClientFutureBackend.usingClient(asyncHttpClient) To use, add the following dependency to your project: ```scala -"com.softwaremill.sttp.client3" %% "okhttp-backend" % "3.4.0" +"com.softwaremill.sttp.client3" %% "okhttp-backend" % "3.4.1" ``` and some imports: @@ -104,7 +104,7 @@ This backend depends on [OkHttp](http://square.github.io/okhttp/) and fully supp To use, add the following dependency to your project: ``` -"com.softwaremill.sttp.client3" %% "httpclient-backend" % "3.4.0" +"com.softwaremill.sttp.client3" %% "httpclient-backend" % "3.4.1" ``` and some imports: @@ -141,7 +141,7 @@ jdk.httpclient.allowRestrictedHeaders=host To use, add the following dependency to your project: ``` -"com.softwaremill.sttp.client3" %% "armeria-backend-future" % "3.4.0" +"com.softwaremill.sttp.client3" %% "armeria-backend-future" % "3.4.1" ``` add imports: diff --git a/generated-docs/out/backends/http4s.md b/generated-docs/out/backends/http4s.md index 95be8926b4..11c06bb623 100644 --- a/generated-docs/out/backends/http4s.md +++ b/generated-docs/out/backends/http4s.md @@ -3,9 +3,9 @@ This backend is based on [http4s](https://http4s.org) (client) and is **asynchronous**. To use, add the following dependency to your project: ```scala -"com.softwaremill.sttp.client3" %% "http4s-backend" % "3.4.0" // for cats-effect 3.x & http4s 1.0.0-Mx +"com.softwaremill.sttp.client3" %% "http4s-backend" % "3.4.1" // for cats-effect 3.x & http4s 1.0.0-Mx // or -"com.softwaremill.sttp.client3" %% "http4s-ce2-backend" % "3.4.0" // for cats-effect 2.x & http4s 0.21.x +"com.softwaremill.sttp.client3" %% "http4s-ce2-backend" % "3.4.1" // for cats-effect 2.x & http4s 0.21.x ``` The backend can be created in a couple of ways, e.g.: diff --git a/generated-docs/out/backends/javascript/fetch.md b/generated-docs/out/backends/javascript/fetch.md index ac8b04109b..3709d0059f 100644 --- a/generated-docs/out/backends/javascript/fetch.md +++ b/generated-docs/out/backends/javascript/fetch.md @@ -7,7 +7,7 @@ A JavaScript backend with web socket support. Implemented using the [Fetch API]( This is the default backend, available in the main jar for JS. To use, add the following dependency to your project: ``` -"com.softwaremill.sttp.client3" %%% "core" % "3.4.0" +"com.softwaremill.sttp.client3" %%% "core" % "3.4.1" ``` And create the backend instance: @@ -26,7 +26,7 @@ Note that `Fetch` does not pass cookies by default. If your request needs cookie To use, add the following dependency to your project: ``` -"com.softwaremill.sttp.client3" %%% "monix" % "3.4.0" +"com.softwaremill.sttp.client3" %%% "monix" % "3.4.1" ``` And create the backend instance: @@ -41,7 +41,7 @@ Any effect implementing the cats-effect `Concurrent` typeclass can be used. To u your project: ``` -"com.softwaremill.sttp.client3" %%% "cats" % "3.4.0" +"com.softwaremill.sttp.client3" %%% "cats" % "3.4.1" ``` And create the backend instance: @@ -80,7 +80,7 @@ Streaming support is provided via `FetchMonixBackend`. Note that streaming suppo To use, add the following dependency to your project: ``` -"com.softwaremill.sttp.client3" %%% "monix" % "3.4.0" +"com.softwaremill.sttp.client3" %%% "monix" % "3.4.1" ``` An example of streaming a response: diff --git a/generated-docs/out/backends/monix.md b/generated-docs/out/backends/monix.md index 267721a3e9..357ed6c8cc 100644 --- a/generated-docs/out/backends/monix.md +++ b/generated-docs/out/backends/monix.md @@ -7,7 +7,7 @@ There are several backend implementations which are `monix.eval.Task`-based. The To use, add the following dependency to your project: ```scala -"com.softwaremill.sttp.client3" %% "async-http-client-backend-monix" % "3.4.0" +"com.softwaremill.sttp.client3" %% "async-http-client-backend-monix" % "3.4.1" ``` This backend depends on [async-http-client](https://github.com/AsyncHttpClient/async-http-client), uses [Netty](http://netty.io) behind the scenes. @@ -50,7 +50,7 @@ val backend = AsyncHttpClientMonixBackend.usingClient(asyncHttpClient) To use, add the following dependency to your project: ```scala -"com.softwaremill.sttp.client3" %% "okhttp-backend-monix" % "3.4.0" +"com.softwaremill.sttp.client3" %% "okhttp-backend-monix" % "3.4.1" ``` Create the backend using: @@ -76,7 +76,7 @@ This backend depends on [OkHttp](http://square.github.io/okhttp/) and fully supp To use, add the following dependency to your project: ``` -"com.softwaremill.sttp.client3" %% "httpclient-backend-monix" % "3.4.0" +"com.softwaremill.sttp.client3" %% "httpclient-backend-monix" % "3.4.1" ``` Create the backend using: @@ -107,7 +107,7 @@ jdk.httpclient.allowRestrictedHeaders=host To use, add the following dependency to your project: ``` -"com.softwaremill.sttp.client3" %% "armeria-backend-monix" % "3.4.0" +"com.softwaremill.sttp.client3" %% "armeria-backend-monix" % "3.4.1" ``` add imports: diff --git a/generated-docs/out/backends/native/curl.md b/generated-docs/out/backends/native/curl.md index a57209e418..89b265d87f 100644 --- a/generated-docs/out/backends/native/curl.md +++ b/generated-docs/out/backends/native/curl.md @@ -5,7 +5,7 @@ A Scala Native backend implemented using [Curl](https://github.com/curl/curl/blo To use, add the following dependency to your project: ``` -"com.softwaremill.sttp.client3" %%% "core" % "3.4.0" +"com.softwaremill.sttp.client3" %%% "core" % "3.4.1" ``` and initialize one of the backends: diff --git a/generated-docs/out/backends/scalaz.md b/generated-docs/out/backends/scalaz.md index bd8929c3b9..d2e1758f15 100644 --- a/generated-docs/out/backends/scalaz.md +++ b/generated-docs/out/backends/scalaz.md @@ -7,7 +7,7 @@ The [Scalaz](https://github.com/scalaz/scalaz) backend is **asynchronous**. Send To use, add the following dependency to your project: ```scala -"com.softwaremill.sttp.client3" %% "async-http-client-backend-scalaz" % "3.4.0" +"com.softwaremill.sttp.client3" %% "async-http-client-backend-scalaz" % "3.4.1" ``` This backend depends on [async-http-client](https://github.com/AsyncHttpClient/async-http-client) and uses [Netty](http://netty.io) behind the scenes. @@ -45,7 +45,7 @@ val backend = AsyncHttpClientScalazBackend.usingClient(asyncHttpClient) To use, add the following dependency to your project: ``` -"com.softwaremill.sttp.client3" %% "armeria-backend-scalaz" % "3.4.0" +"com.softwaremill.sttp.client3" %% "armeria-backend-scalaz" % "3.4.1" ``` add imports: diff --git a/generated-docs/out/backends/synchronous.md b/generated-docs/out/backends/synchronous.md index 49b17c2975..56ee13bb2f 100644 --- a/generated-docs/out/backends/synchronous.md +++ b/generated-docs/out/backends/synchronous.md @@ -25,7 +25,7 @@ sun.net.http.allowRestrictedHeaders=true To use, add the following dependency to your project: ``` -"com.softwaremill.sttp.client3" %% "okhttp-backend" % "3.4.0" +"com.softwaremill.sttp.client3" %% "okhttp-backend" % "3.4.1" ``` Create the backend using: @@ -53,7 +53,7 @@ This backend depends on [OkHttp](http://square.github.io/okhttp/) and fully supp To use, add the following dependency to your project: ``` -"com.softwaremill.sttp.client3" %% "httpclient-backend" % "3.4.0" +"com.softwaremill.sttp.client3" %% "httpclient-backend" % "3.4.1" ``` Create the backend using: diff --git a/generated-docs/out/backends/wrappers/custom.md b/generated-docs/out/backends/wrappers/custom.md index 4efbd3aa75..a7ac19b1b2 100644 --- a/generated-docs/out/backends/wrappers/custom.md +++ b/generated-docs/out/backends/wrappers/custom.md @@ -238,7 +238,7 @@ object RateLimitingSttpBackend { Implementing a new backend is made easy as the tests are published in the `core` jar file under the `tests` classifier. Simply add the follow dependencies to your `build.sbt`: ``` -"com.softwaremill.sttp.client3" %% "core" % "3.4.0" % Test classifier "tests" +"com.softwaremill.sttp.client3" %% "core" % "3.4.1" % Test classifier "tests" ``` Implement your backend and extend the `HttpTest` class: diff --git a/generated-docs/out/backends/wrappers/logging.md b/generated-docs/out/backends/wrappers/logging.md index 03b4eb1a58..e123350bdc 100644 --- a/generated-docs/out/backends/wrappers/logging.md +++ b/generated-docs/out/backends/wrappers/logging.md @@ -28,7 +28,7 @@ Log levels can be configured when creating the `LoggingBackend`, or specified in To use the [slf4j](http://www.slf4j.org) logging backend wrapper, add the following dependency to your project: ``` -"com.softwaremill.sttp.client3" %% "slf4j-backend" % "3.4.0" +"com.softwaremill.sttp.client3" %% "slf4j-backend" % "3.4.1" ``` There are three backend wrappers available, which log request & response information using a slf4j `Logger`. To see the logs, you'll need to use an slf4j-compatible logger implementation, e.g. [logback](http://logback.qos.ch), or use a binding, e.g. [log4j-slf4j](https://logging.apache.org/log4j/2.0/log4j-slf4j-impl/index.html). @@ -50,5 +50,5 @@ To create a customised logging backend, see the section on [custom backends](cus To use the [scribe](https://github.com/outr/scribe) logging backend wrapper, add the following dependency to your project: ``` -"com.softwaremill.sttp.client3" %% "scribe-backend" % "3.4.0" +"com.softwaremill.sttp.client3" %% "scribe-backend" % "3.4.1" ``` \ No newline at end of file diff --git a/generated-docs/out/backends/wrappers/opentracing.md b/generated-docs/out/backends/wrappers/opentracing.md index b427095641..1873f37fa5 100644 --- a/generated-docs/out/backends/wrappers/opentracing.md +++ b/generated-docs/out/backends/wrappers/opentracing.md @@ -3,7 +3,7 @@ To use, add the following dependency to your project: ``` -"com.softwaremill.sttp.client3" %% "opentracing-backend" % "3.4.0" +"com.softwaremill.sttp.client3" %% "opentracing-backend" % "3.4.1" ``` This backend depends on [opentracing](https://github.com/opentracing/opentracing-java), a standardized set of api for distributed tracing. diff --git a/generated-docs/out/backends/wrappers/prometheus.md b/generated-docs/out/backends/wrappers/prometheus.md index 3f1b358c9a..1297a41605 100644 --- a/generated-docs/out/backends/wrappers/prometheus.md +++ b/generated-docs/out/backends/wrappers/prometheus.md @@ -3,7 +3,7 @@ To use, add the following dependency to your project: ``` -"com.softwaremill.sttp.client3" %% "prometheus-backend" % "3.4.0" +"com.softwaremill.sttp.client3" %% "prometheus-backend" % "3.4.1" ``` and some imports: diff --git a/generated-docs/out/backends/wrappers/zio-opentelemetry.md b/generated-docs/out/backends/wrappers/zio-opentelemetry.md index 95096ae68d..108d65b1ab 100644 --- a/generated-docs/out/backends/wrappers/zio-opentelemetry.md +++ b/generated-docs/out/backends/wrappers/zio-opentelemetry.md @@ -3,7 +3,7 @@ To use, add the following dependency to your project: ``` -"com.softwaremill.sttp.client3" %% "zio-telemetry-opentelemetry-backend" % "3.4.0" +"com.softwaremill.sttp.client3" %% "zio-telemetry-opentelemetry-backend" % "3.4.1" ``` This backend depends on [zio-opentelemetry](https://github.com/zio/zio-telemetry). diff --git a/generated-docs/out/backends/wrappers/zio-opentracing.md b/generated-docs/out/backends/wrappers/zio-opentracing.md index f02a1b12d5..88473dc93e 100644 --- a/generated-docs/out/backends/wrappers/zio-opentracing.md +++ b/generated-docs/out/backends/wrappers/zio-opentracing.md @@ -3,7 +3,7 @@ To use, add the following dependency to your project: ``` -"com.softwaremill.sttp.client3" %% "zio-telemetry-opentracing-backend" % "3.4.0" +"com.softwaremill.sttp.client3" %% "zio-telemetry-opentracing-backend" % "3.4.1" ``` This backend depends on [zio-opentracing](https://github.com/zio/zio-telemetry). diff --git a/generated-docs/out/backends/zio.md b/generated-docs/out/backends/zio.md index bb17fe435c..8dfec92766 100644 --- a/generated-docs/out/backends/zio.md +++ b/generated-docs/out/backends/zio.md @@ -9,8 +9,8 @@ The `*-zio` modules depend on ZIO 2.x. For ZIO 1.x support, use modules with the To use, add the following dependency to your project: ``` -"com.softwaremill.sttp.client3" %% "httpclient-backend-zio" % "3.4.0" // for ZIO 2.x -"com.softwaremill.sttp.client3" %% "httpclient-backend-zio1" % "3.4.0" // for ZIO 1.x +"com.softwaremill.sttp.client3" %% "httpclient-backend-zio" % "3.4.1" // for ZIO 2.x +"com.softwaremill.sttp.client3" %% "httpclient-backend-zio1" % "3.4.1" // for ZIO 1.x ``` Create the backend using: @@ -41,8 +41,8 @@ jdk.httpclient.allowRestrictedHeaders=host To use, add the following dependency to your project: ```scala -"com.softwaremill.sttp.client3" %% "async-http-client-backend-zio" % "3.4.0" // for ZIO 2.x -"com.softwaremill.sttp.client3" %% "async-http-client-backend-zio1" % "3.4.0" // for ZIO 1.x +"com.softwaremill.sttp.client3" %% "async-http-client-backend-zio" % "3.4.1" // for ZIO 2.x +"com.softwaremill.sttp.client3" %% "async-http-client-backend-zio1" % "3.4.1" // for ZIO 1.x ``` This backend depends on [async-http-client](https://github.com/AsyncHttpClient/async-http-client), uses [Netty](http://netty.io) behind the scenes. This backend works with all Scala versions. A Scala 3 build is available as well. @@ -88,8 +88,8 @@ val backend = AsyncHttpClientZioBackend.usingClient(runtime, asyncHttpClient) To use, add the following dependency to your project: ``` -"com.softwaremill.sttp.client3" %% "armeria-backend-zio" % "3.4.0" // for ZIO 2.x -"com.softwaremill.sttp.client3" %% "armeria-backend-zio1" % "3.4.0" // for ZIO 1.x +"com.softwaremill.sttp.client3" %% "armeria-backend-zio" % "3.4.1" // for ZIO 2.x +"com.softwaremill.sttp.client3" %% "armeria-backend-zio1" % "3.4.1" // for ZIO 1.x ``` add imports: diff --git a/generated-docs/out/conf/ssl.md b/generated-docs/out/conf/ssl.md index bb408d2480..0e2f3e08bf 100644 --- a/generated-docs/out/conf/ssl.md +++ b/generated-docs/out/conf/ssl.md @@ -28,10 +28,10 @@ val TrustAllCerts: X509TrustManager = new X509TrustManager() { } val ks: KeyStore = KeyStore.getInstance(KeyStore.getDefaultType) -ks.load(new FileInputStream("/path/to/your_cert.p12"), "pass".toCharArray) +ks.load(new FileInputStream("/path/to/your_cert.p12"), "password".toCharArray) val kmf: KeyManagerFactory = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm) -kmf.init(ks, "pass".toCharArray) +kmf.init(ks, "password".toCharArray) val ssl: SSLContext = SSLContext.getInstance("TLS") ssl.init(kmf.getKeyManagers, Array(TrustAllCerts), new SecureRandom) @@ -48,7 +48,7 @@ Next, based on [one way SSL example](#one-way-ssl), add `TrustManagerFactory` to ```scala -ks.load(new FileInputStream("/path/to/server_trust"), "pass".toCharArray) +ks.load(new FileInputStream("/path/to/server_trust"), "password".toCharArray) val tmf: TrustManagerFactory = TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm) tmf.init(ks) diff --git a/generated-docs/out/examples.md b/generated-docs/out/examples.md index 32c6d90e1c..07d8e1e0ab 100644 --- a/generated-docs/out/examples.md +++ b/generated-docs/out/examples.md @@ -7,7 +7,7 @@ All of the examples are available [in the sources](https://github.com/softwaremi Required dependencies: ```scala -libraryDependencies ++= List("com.softwaremill.sttp.client3" %% "core" % "3.4.0") +libraryDependencies ++= List("com.softwaremill.sttp.client3" %% "core" % "3.4.1") ``` Example code: @@ -23,8 +23,8 @@ Required dependencies: ```scala libraryDependencies ++= List( - "com.softwaremill.sttp.client3" %% "akka-http-backend" % "3.4.0", - "com.softwaremill.sttp.client3" %% "json4s" % "3.4.0", + "com.softwaremill.sttp.client3" %% "akka-http-backend" % "3.4.1", + "com.softwaremill.sttp.client3" %% "json4s" % "3.4.1", "org.json4s" %% "json4s-native" % "3.6.0" ) ``` @@ -42,8 +42,8 @@ Required dependencies: ```scala libraryDependencies ++= List( - "com.softwaremill.sttp.client3" %% "async-http-client-backend-zio" % "3.4.0", - "com.softwaremill.sttp.client3" %% "circe" % "3.4.0", + "com.softwaremill.sttp.client3" %% "async-http-client-backend-zio" % "3.4.1", + "com.softwaremill.sttp.client3" %% "circe" % "3.4.1", "io.circe" %% "circe-generic" % "0.14.1" ) ``` @@ -61,8 +61,8 @@ Required dependencies: ```scala libraryDependencies ++= List( - "com.softwaremill.sttp.client3" %% "async-http-client-backend-monix" % "3.4.0", - "com.softwaremill.sttp.client3" %% "circe" % "3.4.0", + "com.softwaremill.sttp.client3" %% "async-http-client-backend-monix" % "3.4.1", + "com.softwaremill.sttp.client3" %% "circe" % "3.4.1", "io.circe" %% "circe-generic" % "0.14.1" ) ``` @@ -80,8 +80,8 @@ Required dependencies: ```scala libraryDependencies ++= List( - "com.softwaremill.sttp.client3" %% "slf4j-backend" % "3.4.0", - "com.softwaremill.sttp.client3" %% "circe" % "3.4.0", + "com.softwaremill.sttp.client3" %% "slf4j-backend" % "3.4.1", + "com.softwaremill.sttp.client3" %% "circe" % "3.4.1", "io.circe" %% "circe-generic" % "0.14.1" ) ``` @@ -99,8 +99,8 @@ Required dependencies: ```scala libraryDependencies ++= List( - "com.softwaremill.sttp.client3" %% "async-http-client-backend-monix" % "3.4.0", - "com.softwaremill.sttp.client3" %% "circe" % "3.4.0", + "com.softwaremill.sttp.client3" %% "async-http-client-backend-monix" % "3.4.1", + "com.softwaremill.sttp.client3" %% "circe" % "3.4.1", "io.circe" %% "circe-generic" % "0.14.1" ) ``` @@ -117,7 +117,7 @@ Example code: Required dependencies: ```scala -libraryDependencies ++= List("com.softwaremill.sttp.client3" %% "core" % "3.4.0") +libraryDependencies ++= List("com.softwaremill.sttp.client3" %% "core" % "3.4.1") ``` Example code: @@ -132,7 +132,7 @@ Example code: Required dependencies: ```scala -libraryDependencies ++= List("com.softwaremill.sttp.client3" %% "async-http-client-backend-zio" % "3.4.0") +libraryDependencies ++= List("com.softwaremill.sttp.client3" %% "async-http-client-backend-zio" % "3.4.1") ``` Example code: @@ -147,7 +147,7 @@ Example code: Required dependencies: ```scala -libraryDependencies ++= List("com.softwaremill.sttp.client3" %% "async-http-client-backend-fs2" % "3.4.0") +libraryDependencies ++= List("com.softwaremill.sttp.client3" %% "async-http-client-backend-fs2" % "3.4.1") ``` Example code: @@ -162,7 +162,7 @@ Example code: Required dependencies: ```scala -libraryDependencies ++= List("com.softwaremill.sttp.client3" %% "async-http-client-backend-monix" % "3.4.0") +libraryDependencies ++= List("com.softwaremill.sttp.client3" %% "async-http-client-backend-monix" % "3.4.1") ``` Example code: @@ -177,7 +177,7 @@ Example code: Required dependencies: ```scala -libraryDependencies ++= List("com.softwaremill.sttp.client3" %% "akka-http-backend" % "3.4.0") +libraryDependencies ++= List("com.softwaremill.sttp.client3" %% "akka-http-backend" % "3.4.1") ``` Example code: @@ -192,7 +192,7 @@ Example code: Required dependencies: ```scala -libraryDependencies ++= List("com.softwaremill.sttp.client3" %% "async-http-client-backend-monix" % "3.4.0") +libraryDependencies ++= List("com.softwaremill.sttp.client3" %% "async-http-client-backend-monix" % "3.4.1") ``` Example code: @@ -207,7 +207,7 @@ Example code: Required dependencies: ```scala -libraryDependencies ++= List("com.softwaremill.sttp.client3" %% "async-http-client-backend-fs2" % "3.4.0") +libraryDependencies ++= List("com.softwaremill.sttp.client3" %% "async-http-client-backend-fs2" % "3.4.1") ``` Example code: @@ -222,7 +222,7 @@ Example code: Required dependencies: ```scala -libraryDependencies ++= List("com.softwaremill.sttp.client3" %% "async-http-client-backend-zio" % "3.4.0") +libraryDependencies ++= List("com.softwaremill.sttp.client3" %% "async-http-client-backend-zio" % "3.4.1") ``` Example code: @@ -237,7 +237,7 @@ Example code: Required dependencies: ```scala -libraryDependencies ++= List("com.softwaremill.sttp.client3" %% "async-http-client-backend-zio" % "3.4.0") +libraryDependencies ++= List("com.softwaremill.sttp.client3" %% "async-http-client-backend-zio" % "3.4.1") ``` Example code: @@ -252,7 +252,7 @@ Example code: Required dependencies: ```scala -libraryDependencies ++= List("com.softwaremill.sttp.client3" %% "core" % "3.4.0") +libraryDependencies ++= List("com.softwaremill.sttp.client3" %% "core" % "3.4.1") ``` Example code: diff --git a/generated-docs/out/json.md b/generated-docs/out/json.md index 935976b560..eb624503c6 100644 --- a/generated-docs/out/json.md +++ b/generated-docs/out/json.md @@ -34,7 +34,7 @@ case class ResponsePayload(data: String) JSON encoding of bodies and decoding of responses can be handled using [Circe](https://circe.github.io/circe/) by the `circe` module. To use add the following dependency to your project: ```scala -"com.softwaremill.sttp.client3" %% "circe" % "3.4.0" +"com.softwaremill.sttp.client3" %% "circe" % "3.4.1" ``` This module adds a body serialized, so that json payloads can be sent as request bodies. To send a payload of type `T` as json, a `io.circe.Encoder[T]` implicit value must be available in scope. @@ -66,7 +66,7 @@ Arbitrary JSON structures can be traversed by parsing the result as `io.circe.Js To encode and decode json using json4s, add the following dependency to your project: ``` -"com.softwaremill.sttp.client3" %% "json4s" % "3.4.0" +"com.softwaremill.sttp.client3" %% "json4s" % "3.4.1" "org.json4s" %% "json4s-native" % "3.6.0" ``` @@ -100,7 +100,7 @@ val response: Identity[Response[Either[ResponseException[String, Exception], Res To encode and decode JSON using [spray-json](https://github.com/spray/spray-json), add the following dependency to your project: ``` -"com.softwaremill.sttp.client3" %% "spray-json" % "3.4.0" +"com.softwaremill.sttp.client3" %% "spray-json" % "3.4.1" ``` Using this module it is possible to set request bodies and read response bodies as your custom types, using the implicitly available instances of `spray.json.JsonWriter` / `spray.json.JsonReader` or `spray.json.JsonFormat`. @@ -132,7 +132,7 @@ val response: Identity[Response[Either[ResponseException[String, Exception], Res To encode and decode JSON using [play-json](https://www.playframework.com), add the following dependency to your project: ```scala -"com.softwaremill.sttp.client3" %% "play-json" % "3.4.0" +"com.softwaremill.sttp.client3" %% "play-json" % "3.4.1" ``` To use, add an import: `import sttp.client3.playJson._`. @@ -142,11 +142,11 @@ To use, add an import: `import sttp.client3.playJson._`. To encode and decode JSON using the high-performance [zio-json](https://zio.github.io/zio-json/) library, one add the following dependency to your project. ```scala -"com.softwaremill.sttp.client3" %% "zio-json" % "3.4.0" +"com.softwaremill.sttp.client3" %% "zio-json" % "3.4.1" ``` or for ScalaJS (cross build) projects: ```scala -"com.softwaremill.sttp.client3" %%% "zio-json" % "3.4.0" +"com.softwaremill.sttp.client3" %%% "zio-json" % "3.4.1" ``` To use, add an import: `import sttp.client3.ziojson._` (or extend `SttpZioJsonApi`), define an implicit `JsonCodec`, or `JsonDecoder`/`JsonEncoder` for your datatype. @@ -166,6 +166,46 @@ implicit val myResponseJsonDecoder: JsonDecoder[ResponsePayload] = DeriveJsonDec val requestPayload = RequestPayload("some data") val response: Identity[Response[Either[ResponseException[String, String], ResponsePayload]]] = +basicRequest + .post(uri"...") + .body(requestPayload) + .response(asJson[ResponsePayload]) + .send(backend) +``` + +## Jsoniter-scala + +To encode and decode JSON using the [high(est)-performant](https://plokhotnyuk.github.io/jsoniter-scala/) [jsoniter-scala](https://github.com/plokhotnyuk/jsoniter-scala) library, one add the following dependency to your project. + +```scala +"com.softwaremill.sttp.client3" %% "jsoniter-json" % "3.4.1" +``` + +or for ScalaJS (cross build) projects: + +```scala +"com.softwaremill.sttp.client3" %%% "jsoniter-json" % "3.4.1" +``` + +To use, add an import: `import sttp.client3.jsoniter._` (or extend `SttpJsonIterJsonApi`), define an implicit `JsonCodec`, or `JsonDecoder`/`JsonEncoder` for your datatype. +Note that jsoniter does not support implicits `def`s so every `Either` instance has to be generated separately. +However, an `implicit def` has been made for `Option` and is shipped in the `SttpJsonIterJsonApi` class. +Usage example: + +```scala +import sttp.client3._ +import sttp.client3.jsoniter._ +import com.github.plokhotnyuk.jsoniter_scala.core._ +import com.github.plokhotnyuk.jsoniter_scala.macros._ + +val backend: SttpBackend[Identity, Any] = HttpURLConnectionBackend() + +implicit val payloadJsonCodec: JsonValueCodec[RequestPayload] = JsonCodecMaker.make +//note that the jsoniter doesn't support 'implicit defs' and so either has to be generated seperatly +implicit val jsonEitherDecoder: JsonValueCodec[ResponsePayload] = JsonCodecMaker.make +val requestPayload = RequestPayload("some data") + +val response: Identity[Response[Either[ResponseException[String, Exception], ResponsePayload]]] = basicRequest .post(uri"...") .body(requestPayload) diff --git a/generated-docs/out/openapi.md b/generated-docs/out/openapi.md index aefdc57de5..f30a6c8754 100644 --- a/generated-docs/out/openapi.md +++ b/generated-docs/out/openapi.md @@ -45,8 +45,8 @@ lazy val petstoreApi: Project = project openApiGeneratorName := "scala-sttp", openApiOutputDir := baseDirectory.value.name, libraryDependencies ++= Seq( - "com.softwaremill.sttp.client3" %% "core" % "3.4.0", - "com.softwaremill.sttp.client3" %% "json4s" % "3.4.0", + "com.softwaremill.sttp.client3" %% "core" % "3.4.1", + "com.softwaremill.sttp.client3" %% "json4s" % "3.4.1", "org.json4s" %% "json4s-jackson" % "3.6.8" ) ) @@ -96,8 +96,8 @@ lazy val petstoreApi: Project = project openApiOutputDir := baseDirectory.value.name, openApiIgnoreFileOverride := s"${baseDirectory.in(ThisBuild).value.getPath}/openapi-ignore-file", libraryDependencies ++= Seq( - "com.softwaremill.sttp.client3" %% "core" % "3.4.0", - "com.softwaremill.sttp.client3" %% "json4s" % "3.4.0", + "com.softwaremill.sttp.client3" %% "core" % "3.4.1", + "com.softwaremill.sttp.client3" %% "json4s" % "3.4.1", "org.json4s" %% "json4s-jackson" % "3.6.8" ), (compile in Compile) := ((compile in Compile) dependsOn openApiGenerate).value, diff --git a/generated-docs/out/quickstart.md b/generated-docs/out/quickstart.md index 6084e4ab98..a2c5c39290 100644 --- a/generated-docs/out/quickstart.md +++ b/generated-docs/out/quickstart.md @@ -9,7 +9,7 @@ To integrate with other parts of your application, you'll often need to use an a The basic dependency which provides the API and the default synchronous backend is: ```scala -"com.softwaremill.sttp.client3" %% "core" % "3.4.0" +"com.softwaremill.sttp.client3" %% "core" % "3.4.1" ``` `sttp client` is available for Scala 2.11, 2.12 and 2.13, and requires Java 8, as well as for Scala 3. @@ -21,7 +21,7 @@ The basic dependency which provides the API and the default synchronous backend If you are an [Ammonite](https://ammonite.io) user, you can quickly start experimenting with sttp by copy-pasting the following: ```scala -import $ivy.`com.softwaremill.sttp.client3::core:3.4.0` +import $ivy.`com.softwaremill.sttp.client3::core:3.4.1` import sttp.client3.quick._ quickRequest.get(uri"http://httpbin.org/ip").send(backend) ``` @@ -31,7 +31,7 @@ Importing the `quick` object has the same effect as importing `sttp.client3._`, If the default `HttpURLConnectionBackend` for some reason is insufficient, you can also use one based on OkHttp or HttpClient: ```scala -import $ivy.`com.softwaremill.sttp.client3::okhttp-backend:3.4.0` +import $ivy.`com.softwaremill.sttp.client3::okhttp-backend:3.4.1` import sttp.client3.okhttp.quick._ quickRequest.get(uri"http://httpbin.org/ip").send(backend) ```