There’s a number of great Scala HTTP libraries. You can do synchronous or fully asynchronous calls, stream requests and responses, use either standard Scala Futures or other concurrency wrappers. However, on the API side, when it comes to programmer-friendliness, I think we can do better.
The main goal of sttp is to provide a simple, type-safe API for defining HTTP requests, sending them and receiving responses. In the mainly live-coding talk we’ll go through the main API design decisions: we’ll see how partial requests (“templates”) can be built, how is type-safety provided via type parameters and what do they mean, how is defining a request decoupled from execution.
The presentation will also cover other sttp features, such as the URI interpolator and request/response body streaming support, integration with Akka Streams, Monix, Scalaz and Cats.
YOU MAY ALSO LIKE:
- Free Monad or Tagless Final? How Not to Commit to a Monad Too Early (SkillsCast recorded in December 2017)
- Haskell eXchange 2021 (Online Conference on 16th - 17th November 2021)
- Rethinking Bioinformatic Algorithms Using F# (SkillsCast recorded in October 2020)
- Dependency injection from zero to hero with Koin (SkillsCast recorded in October 2019)
sttp: the Scala HTTP client that you always wanted!
Adam Warski
Adam is one of the co-founders of SoftwareMill, a company specialising in delivering customised software solutions. He codes mostly on the back-end using Scala and other interesting technologies. Adam created a couple of open-source projects, such as sttp, MacWire, Hibernate Envers and ElasticMQ. He has been a speaker at major conferences, such as Devoxx, JavaOne, LambdaConf and ScalaDays.