diff --git a/README.md b/README.md index 7f7cb78a4c..cfb9d5e628 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.3.3) +scaladoc is available at [https://www.javadoc.io](https://www.javadoc.io/doc/com.softwaremill.sttp.client3/core_2.12/3.3.4) ## 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.3.3` +import $ivy.`com.softwaremill.sttp.client3::core:3.3.4` 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.3.3" +"com.softwaremill.sttp.client3" %% "core" % "3.3.4" ``` 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.3.3"`, before running `mdoc` in `docs`. +That is, in sbt run: `set version := "3.3.4"`, 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 d57376b002..8d0235e5d5 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.3.3" +"com.softwaremill.sttp.client3" %% "akka-http-backend" % "3.3.4" ``` 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 ab4c0042cd..3462c033c4 100644 --- a/generated-docs/out/backends/catseffect.md +++ b/generated-docs/out/backends/catseffect.md @@ -7,9 +7,9 @@ The [Cats Effect](https://github.com/typelevel/cats-effect) backend is **asynchr To use, add the following dependency to your project: ```scala -"com.softwaremill.sttp.client3" %% "async-http-client-backend-cats" % "3.3.3" // for cats-effect 3.x +"com.softwaremill.sttp.client3" %% "async-http-client-backend-cats" % "3.3.4" // for cats-effect 3.x // or -"com.softwaremill.sttp.client3" %% "async-http-client-backend-cats-ce2" % "3.3.3" // for cats-effect 2.x +"com.softwaremill.sttp.client3" %% "async-http-client-backend-cats-ce2" % "3.3.4" // 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. @@ -81,9 +81,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.3.3" // for cats-effect 3.x +"com.softwaremill.sttp.client3" %% "armeria-backend-cats" % "3.3.4" // for cats-effect 3.x // or -"com.softwaremill.sttp.client3" %% "armeria-backend-cats-ce2" % "3.3.3" // for cats-effect 2.x +"com.softwaremill.sttp.client3" %% "armeria-backend-cats-ce2" % "3.3.4" // for cats-effect 2.x ``` create client: diff --git a/generated-docs/out/backends/finagle.md b/generated-docs/out/backends/finagle.md index a8dcc82d9c..4e6aa920cc 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.3.3" +"com.softwaremill.sttp.client3" %% "finagle-backend" % "3.3.4" ``` 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 32da366433..ac7aee2632 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.3.3" // for cats-effect 3.x & fs2 3.x +"com.softwaremill.sttp.client3" %% "async-http-client-backend-fs2" % "3.3.4" // for cats-effect 3.x & fs2 3.x // or -"com.softwaremill.sttp.client3" %% "async-http-client-backend-fs2-ce2" % "3.3.3" // for cats-effect 2.x & fs2 2.x +"com.softwaremill.sttp.client3" %% "async-http-client-backend-fs2-ce2" % "3.3.4" // 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.3.3" // for cats-effect 3.x & fs2 3.x +"com.softwaremill.sttp.client3" %% "httpclient-backend-fs2" % "3.3.4" // for cats-effect 3.x & fs2 3.x // or -"com.softwaremill.sttp.client3" %% "httpclient-backend-fs2-ce2" % "3.3.3" // for cats-effect 2.x & fs2 2.x +"com.softwaremill.sttp.client3" %% "httpclient-backend-fs2-ce2" % "3.3.4" // 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.3.3" // for cats-effect 3.x & fs2 3.x +"com.softwaremill.sttp.client3" %% "armeria-backend-fs2" % "3.3.4" // for cats-effect 3.x & fs2 3.x // or -"com.softwaremill.sttp.client3" %% "armeria-backend-fs2" % "3.3.3" // for cats-effect 2.x & fs2 2.x +"com.softwaremill.sttp.client3" %% "armeria-backend-fs2" % "3.3.4" // 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 5ebcde6b60..b408b562f7 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.3.3" +"com.softwaremill.sttp.client3" %% "async-http-client-backend-future" % "3.3.4" ``` 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.3.3" +"com.softwaremill.sttp.client3" %% "okhttp-backend" % "3.3.4" ``` 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.3.3" +"com.softwaremill.sttp.client3" %% "httpclient-backend" % "3.3.4" ``` 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.3.3" +"com.softwaremill.sttp.client3" %% "armeria-backend-future" % "3.3.4" ``` add imports: diff --git a/generated-docs/out/backends/http4s.md b/generated-docs/out/backends/http4s.md index cf28ab812e..8e1caa10ec 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.3.3" // for cats-effect 3.x & http4s 1.0.0-Mx +"com.softwaremill.sttp.client3" %% "http4s-backend" % "3.3.4" // for cats-effect 3.x & http4s 1.0.0-Mx // or -"com.softwaremill.sttp.client3" %% "http4s-ce2-backend" % "3.3.3" // for cats-effect 2.x & http4s 0.21.x +"com.softwaremill.sttp.client3" %% "http4s-ce2-backend" % "3.3.4" // 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 900a9ff5ee..c541d976f4 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.3.3" +"com.softwaremill.sttp.client3" %%% "core" % "3.3.4" ``` 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.3.3" +"com.softwaremill.sttp.client3" %%% "monix" % "3.3.4" ``` 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.3.3" +"com.softwaremill.sttp.client3" %%% "cats" % "3.3.4" ``` 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.3.3" +"com.softwaremill.sttp.client3" %%% "monix" % "3.3.4" ``` An example of streaming a response: diff --git a/generated-docs/out/backends/monix.md b/generated-docs/out/backends/monix.md index fd4d4ba654..436d368c4a 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.3.3" +"com.softwaremill.sttp.client3" %% "async-http-client-backend-monix" % "3.3.4" ``` 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.3.3" +"com.softwaremill.sttp.client3" %% "okhttp-backend-monix" % "3.3.4" ``` 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.3.3" +"com.softwaremill.sttp.client3" %% "httpclient-backend-monix" % "3.3.4" ``` 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.3.3" +"com.softwaremill.sttp.client3" %% "armeria-backend-monix" % "3.3.4" ``` add imports: diff --git a/generated-docs/out/backends/native/curl.md b/generated-docs/out/backends/native/curl.md index bb504d354f..6ad1f870f0 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.3.3" +"com.softwaremill.sttp.client3" %%% "core" % "3.3.4" ``` and initialize one of the backends: diff --git a/generated-docs/out/backends/scalaz.md b/generated-docs/out/backends/scalaz.md index f50946e2d2..6e26897580 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.3.3" +"com.softwaremill.sttp.client3" %% "async-http-client-backend-scalaz" % "3.3.4" ``` 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.3.3" +"com.softwaremill.sttp.client3" %% "armeria-backend-scalaz" % "3.3.4" ``` add imports: diff --git a/generated-docs/out/backends/synchronous.md b/generated-docs/out/backends/synchronous.md index 6a38c68f60..2ba6615feb 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.3.3" +"com.softwaremill.sttp.client3" %% "okhttp-backend" % "3.3.4" ``` 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.3.3" +"com.softwaremill.sttp.client3" %% "httpclient-backend" % "3.3.4" ``` Create the backend using: diff --git a/generated-docs/out/backends/wrappers/custom.md b/generated-docs/out/backends/wrappers/custom.md index ea69372341..51aac526a3 100644 --- a/generated-docs/out/backends/wrappers/custom.md +++ b/generated-docs/out/backends/wrappers/custom.md @@ -266,7 +266,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.3.3" % Test classifier "tests" +"com.softwaremill.sttp.client3" %% "core" % "3.3.4" % 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 83f6160133..ede034bd27 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.3.3" +"com.softwaremill.sttp.client3" %% "slf4j-backend" % "3.3.4" ``` 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.3.3" +"com.softwaremill.sttp.client3" %% "scribe-backend" % "3.3.4" ``` \ 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 22e8e8340d..bc41218cc2 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.3.3" +"com.softwaremill.sttp.client3" %% "opentracing-backend" % "3.3.4" ``` 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 60e638160c..2d9709eb06 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.3.3" +"com.softwaremill.sttp.client3" %% "prometheus-backend" % "3.3.4" ``` and some imports: diff --git a/generated-docs/out/backends/wrappers/zio-opentelemetry.md b/generated-docs/out/backends/wrappers/zio-opentelemetry.md index 60aeb4b2be..f8ed2c2726 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.3.3" +"com.softwaremill.sttp.client3" %% "zio-telemetry-opentelemetry-backend" % "3.3.4" ``` 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 cad025e9ef..b54ff102eb 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.3.3" +"com.softwaremill.sttp.client3" %% "zio-telemetry-opentracing-backend" % "3.3.4" ``` 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 58f9e6b46f..d7851e7846 100644 --- a/generated-docs/out/backends/zio.md +++ b/generated-docs/out/backends/zio.md @@ -7,7 +7,7 @@ The [ZIO](https://github.com/zio/zio) backends are **asynchronous**. Sending a r To use, add the following dependency to your project: ``` -"com.softwaremill.sttp.client3" %% "httpclient-backend-zio" % "3.3.3" +"com.softwaremill.sttp.client3" %% "httpclient-backend-zio" % "3.3.4" ``` Create the backend using: @@ -38,7 +38,7 @@ jdk.httpclient.allowRestrictedHeaders=host To use, add the following dependency to your project: ```scala -"com.softwaremill.sttp.client3" %% "async-http-client-backend-zio" % "3.3.3" +"com.softwaremill.sttp.client3" %% "async-http-client-backend-zio" % "3.3.4" ``` 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. @@ -84,7 +84,7 @@ val backend = AsyncHttpClientZioBackend.usingClient(runtime, asyncHttpClient) To use, add the following dependency to your project: ``` -"com.softwaremill.sttp.client3" %% "armeria-backend-zio" % "3.3.3" +"com.softwaremill.sttp.client3" %% "armeria-backend-zio" % "3.3.4" ``` add imports: diff --git a/generated-docs/out/examples.md b/generated-docs/out/examples.md index 3a8c87b270..f43ce7cf77 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.3.3") +libraryDependencies ++= List("com.softwaremill.sttp.client3" %% "core" % "3.3.4") ``` Example code: @@ -23,8 +23,8 @@ Required dependencies: ```scala libraryDependencies ++= List( - "com.softwaremill.sttp.client3" %% "akka-http-backend" % "3.3.3", - "com.softwaremill.sttp.client3" %% "json4s" % "3.3.3", + "com.softwaremill.sttp.client3" %% "akka-http-backend" % "3.3.4", + "com.softwaremill.sttp.client3" %% "json4s" % "3.3.4", "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.3.3", - "com.softwaremill.sttp.client3" %% "circe" % "3.3.3", + "com.softwaremill.sttp.client3" %% "async-http-client-backend-zio" % "3.3.4", + "com.softwaremill.sttp.client3" %% "circe" % "3.3.4", "io.circe" %% "circe-generic" % "0.13.0" ) ``` @@ -61,8 +61,8 @@ Required dependencies: ```scala libraryDependencies ++= List( - "com.softwaremill.sttp.client3" %% "async-http-client-backend-monix" % "3.3.3", - "com.softwaremill.sttp.client3" %% "circe" % "3.3.3", + "com.softwaremill.sttp.client3" %% "async-http-client-backend-monix" % "3.3.4", + "com.softwaremill.sttp.client3" %% "circe" % "3.3.4", "io.circe" %% "circe-generic" % "0.13.0" ) ``` @@ -80,8 +80,8 @@ Required dependencies: ```scala libraryDependencies ++= List( - "com.softwaremill.sttp.client3" %% "slf4j-backend" % "3.3.3", - "com.softwaremill.sttp.client3" %% "circe" % "3.3.3", + "com.softwaremill.sttp.client3" %% "slf4j-backend" % "3.3.4", + "com.softwaremill.sttp.client3" %% "circe" % "3.3.4", "io.circe" %% "circe-generic" % "0.13.0" ) ``` @@ -99,8 +99,8 @@ Required dependencies: ```scala libraryDependencies ++= List( - "com.softwaremill.sttp.client3" %% "async-http-client-backend-monix" % "3.3.3", - "com.softwaremill.sttp.client3" %% "circe" % "3.3.3", + "com.softwaremill.sttp.client3" %% "async-http-client-backend-monix" % "3.3.4", + "com.softwaremill.sttp.client3" %% "circe" % "3.3.4", "io.circe" %% "circe-generic" % "0.13.0" ) ``` @@ -117,7 +117,7 @@ Example code: Required dependencies: ```scala -libraryDependencies ++= List("com.softwaremill.sttp.client3" %% "core" % "3.3.3") +libraryDependencies ++= List("com.softwaremill.sttp.client3" %% "core" % "3.3.4") ``` Example code: @@ -132,7 +132,7 @@ Example code: Required dependencies: ```scala -libraryDependencies ++= List("com.softwaremill.sttp.client3" %% "async-http-client-backend-zio" % "3.3.3") +libraryDependencies ++= List("com.softwaremill.sttp.client3" %% "async-http-client-backend-zio" % "3.3.4") ``` Example code: @@ -147,7 +147,7 @@ Example code: Required dependencies: ```scala -libraryDependencies ++= List("com.softwaremill.sttp.client3" %% "async-http-client-backend-fs2 % "3.3.3") +libraryDependencies ++= List("com.softwaremill.sttp.client3" %% "async-http-client-backend-fs2 % "3.3.4") ``` Example code: @@ -162,7 +162,7 @@ Example code: Required dependencies: ```scala -libraryDependencies ++= List("com.softwaremill.sttp.client3" %% "async-http-client-backend-monix" % "3.3.3") +libraryDependencies ++= List("com.softwaremill.sttp.client3" %% "async-http-client-backend-monix" % "3.3.4") ``` Example code: @@ -177,7 +177,7 @@ Example code: Required dependencies: ```scala -libraryDependencies ++= List("com.softwaremill.sttp.client3" %% "akka-http-backend" % "3.3.3") +libraryDependencies ++= List("com.softwaremill.sttp.client3" %% "akka-http-backend" % "3.3.4") ``` Example code: @@ -192,7 +192,7 @@ Example code: Required dependencies: ```scala -libraryDependencies ++= List("com.softwaremill.sttp.client3" %% "async-http-client-backend-monix" % "3.3.3") +libraryDependencies ++= List("com.softwaremill.sttp.client3" %% "async-http-client-backend-monix" % "3.3.4") ``` Example code: @@ -207,7 +207,7 @@ Example code: Required dependencies: ```scala -libraryDependencies ++= List("com.softwaremill.sttp.client3" %% "async-http-client-backend-fs2" % "3.3.3") +libraryDependencies ++= List("com.softwaremill.sttp.client3" %% "async-http-client-backend-fs2" % "3.3.4") ``` Example code: @@ -222,7 +222,7 @@ Example code: Required dependencies: ```scala -libraryDependencies ++= List("com.softwaremill.sttp.client3" %% "async-http-client-backend-zio" % "3.3.3") +libraryDependencies ++= List("com.softwaremill.sttp.client3" %% "async-http-client-backend-zio" % "3.3.4") ``` Example code: @@ -237,7 +237,7 @@ Example code: Required dependencies: ```scala -libraryDependencies ++= List("com.softwaremill.sttp.client3" %% "async-http-client-backend-zio" % "3.3.3") +libraryDependencies ++= List("com.softwaremill.sttp.client3" %% "async-http-client-backend-zio" % "3.3.4") ``` Example code: @@ -252,7 +252,7 @@ Example code: Required dependencies: ```scala -libraryDependencies ++= List("com.softwaremill.sttp.client3" %% "core" % "3.3.3") +libraryDependencies ++= List("com.softwaremill.sttp.client3" %% "core" % "3.3.4") ``` Example code: diff --git a/generated-docs/out/index.md b/generated-docs/out/index.md index 73319eab59..c34e3e5fc3 100644 --- a/generated-docs/out/index.md +++ b/generated-docs/out/index.md @@ -49,6 +49,7 @@ sttp is a family of Scala HTTP-related projects, and currently includes: Third party projects: * [sttp-oauth2](https://github.com/ocadotechnology/sttp-oauth2): OAuth2 client library for Scala +* [sttp-openapi-generator](https://github.com/ghostbuster91/sttp-openapi-generator): Generate sttp client from openapi specification with ease! ## Sponsors diff --git a/generated-docs/out/json.md b/generated-docs/out/json.md index 03f45cc404..786ab22776 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.3.3" +"com.softwaremill.sttp.client3" %% "circe" % "3.3.4" ``` 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.3.3" +"com.softwaremill.sttp.client3" %% "json4s" % "3.3.4" "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.3.3" +"com.softwaremill.sttp.client3" %% "spray-json" % "3.3.4" ``` 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.3.3" +"com.softwaremill.sttp.client3" %% "play-json" % "3.3.4" ``` 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.3.3" +"com.softwaremill.sttp.client3" %% "zio-json" % "3.3.4" ``` or for ScalaJS (cross build) projects: ```scala -"com.softwaremill.sttp.client3" %%% "zio-json" % "3.3.3" +"com.softwaremill.sttp.client3" %%% "zio-json" % "3.3.4" ``` To use, add an import: `import sttp.client3.ziojson._` (or extend `SttpZioJsonApi`), define an implicit `JsonCodec`, or `JsonDecoder`/`JsonEncoder` for your datatype. diff --git a/generated-docs/out/openapi.md b/generated-docs/out/openapi.md index 8a789a01ad..ce879916f7 100644 --- a/generated-docs/out/openapi.md +++ b/generated-docs/out/openapi.md @@ -1,10 +1,19 @@ # OpenAPI -sttp-client [request definitions](requests/basics.md) can be automatically generated from [openapi](https://swagger.io/specification/) `.yaml` specifications using the `scala-sttp` code generator, included in the [openapi-generator](https://github.com/OpenAPITools/openapi-generator) project. +sttp-client [request definitions](requests/basics.md) can be automatically generated from [openapi](https://swagger.io/specification/) `.yaml` specifications using: + +1. the [sttp-openapi-generator](https://github.com/ghostbuster91/sttp-openapi-generator) +2. the `scala-sttp` code generator, included in the [openapi-generator](https://github.com/OpenAPITools/openapi-generator) project + +## Using sttp-openapi-generator + +See the project's [docs](https://github.com/ghostbuster91/sttp-openapi-generator). + +## Using the openapi-generator For `scala-sttp`'s generator's configuration options refer to: [https://openapi-generator.tech/docs/generators/scala-sttp](https://openapi-generator.tech/docs/generators/scala-sttp). -## Standalone setup +### Standalone setup This is the simplest setup which relies on calling openapi-generator manually and generating a complete sbt project from it. @@ -21,7 +30,7 @@ openapi-generator-cli generate \ -o samples/client/petstore/ ``` -## Sbt managed +### Sbt managed In this setup openapi-generator is plugged into sbt project through the [sbt-openapi-generator](https://github.com/OpenAPITools/sbt-openapi-generator/) plugin. Sttp requests and models are automatically generated upon compilation. @@ -36,8 +45,8 @@ lazy val petstoreApi: Project = project openApiGeneratorName := "scala-sttp", openApiOutputDir := baseDirectory.value.name, libraryDependencies ++= Seq( - "com.softwaremill.sttp.client3" %% "core" % "3.3.3", - "com.softwaremill.sttp.client3" %% "json4s" % "3.3.3", + "com.softwaremill.sttp.client3" %% "core" % "3.3.4", + "com.softwaremill.sttp.client3" %% "json4s" % "3.3.4", "org.json4s" %% "json4s-jackson" % "3.6.8" ) ) @@ -87,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.3.3", - "com.softwaremill.sttp.client3" %% "json4s" % "3.3.3", + "com.softwaremill.sttp.client3" %% "core" % "3.3.4", + "com.softwaremill.sttp.client3" %% "json4s" % "3.3.4", "org.json4s" %% "json4s-jackson" % "3.6.8" ), (compile in Compile) := ((compile in Compile) dependsOn openApiGenerate).value, @@ -98,7 +107,7 @@ lazy val petstoreApi: Project = project Full demo project is available on [github](https://github.com/softwaremill/sttp-openapi-example). -### Additional notes +#### Additional notes Although recent versions of the IntelliJ IDEA IDE come with "OpenApi Specification" plugin bundled into it, this plugin doesn't seem to support latest versions of generator and so, it is impossible to generate sttp bindings from it. diff --git a/generated-docs/out/quickstart.md b/generated-docs/out/quickstart.md index 631a8f345a..740c4a44bb 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.3.3" +"com.softwaremill.sttp.client3" %% "core" % "3.3.4" ``` `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.3.3` +import $ivy.`com.softwaremill.sttp.client3::core:3.3.4` 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.3.3` +import $ivy.`com.softwaremill.sttp.client3::okhttp-backend:3.3.4` import sttp.client3.okhttp.quick._ quickRequest.get(uri"http://httpbin.org/ip").send(backend) ``` diff --git a/generated-docs/out/requests/basics.md b/generated-docs/out/requests/basics.md index 7a954267cb..e2ac960017 100644 --- a/generated-docs/out/requests/basics.md +++ b/generated-docs/out/requests/basics.md @@ -65,7 +65,11 @@ For example: ```scala basicRequest.get(uri"http://httpbin.org/ip").toCurl -// res1: String = "curl -L --max-redirs 32 -X GET 'http://httpbin.org/ip'" +// res1: String = """curl \ +// --request GET \ +// --url 'http://httpbin.org/ip' \ +// --location \ +// --max-redirs 32""" ``` Note that the `Accept-Encoding` header, which is added by default to all requests (`Accept-Encoding: gzip, deflate`) is filtered out from the generated command, so that when running a request from the command line, the result has higher chance of being human-readable, and not compressed.