Home

Awesome

advanced-http4s

Code samples of advanced features of Http4s in combination with some features of Fs2 not often seen.

Streaming end to end

You'll need two sbt sessions. Run the server in one and after the client in the other to try it out.

Middleware Composition

Response compression is verified by HexNameHttpEndpointSpec. You can also try it out on Postman or similar.

The TimeoutHttpEndpoint generates a response in a random time to demonstrate the use.

The endpoint /v1/nonstream/dirs?depth=3 demonstrates the use case.

Media Type negotiation

The JsonXmlHttpEndpoint demonstrates this use case and it's validated in its spec.

Multipart Form Data

Similar to the streaming example, you'll need to run both Server and MultipartClient to see how it works.

NOTE: Beware of the creation of rick.jpg file in your HOME directory!

Authentication


fs2 examples

In the fs2 package you'll find some practical examples of the few things it's possible to build with this powerful streaming library. This might serve as a starting point, your creativity will do the rest.

fs2.async package

Apart from the use of the three core types Stream[F, O], Pipe[F, I, O] and Sink[F, I] you'll find examples of use of the following types:

In addition to the use of some other functions useful in Parallel and Concurrent scenarios.