# Async-http-client backends removal

**URL:** <https://softwaremill.community/t/async-http-client-backends-removal/468>\
**Category:** sttp client\
**Created:** [January 16, 2025, 6:26pm UTC](https://softwaremill.community/t/async-http-client-backends-removal/468 "2025-01-16T18:26:58Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![MaxPeroch](https://avatars.discourse-cdn.com/v4/letter/m/cab0a1/32.png) [@MaxPeroch](https://softwaremill.community/u/MaxPeroch)\
**Post date:** [January 16, 2025, 6:26pm UTC](https://softwaremill.community/t/async-http-client-backends-removal/468/1 "2025-01-16T18:26:58Z")

</div>

Hello, I see that those backends were recently removed ([Remove async-http-client backends by adamw · Pull Request #2373 · softwaremill/sttp · GitHub](https://github.com/softwaremill/sttp/pull/2373)). Is there any alternative for a CE backend that supports streaming and websockets (`WebSocketStreamBackend[IO, Fs2Streams[IO]]`). Could that be added to the Http4s backend (Ember)?

I also need multipart support, so it’s not easy to find a backend that does it all 😃

Thanks for the recommendations!

Best,  
Max

---

<div class="post-metadata">

**Author:** ![adamw](https://dub1.discourse-cdn.com/flex005/user_avatar/softwaremill.community/adamw/32/28_2.png) [@adamw](https://softwaremill.community/u/adamw)\
**Post date:** [January 16, 2025, 7:18pm UTC](https://softwaremill.community/t/async-http-client-backends-removal/468/2 "2025-01-16T19:18:26Z")

</div>

I think the default `HttpClient`-based one is what you’re looking for? [fs2 backend — sttp 4 documentation](https://sttp.softwaremill.com/en/latest/backends/fs2.html#using-httpclient)

Or at least I hope so, since it’s the default it should have all the features 🙂

---

<div class="post-metadata">

**Author:** ![MaxPeroch](https://avatars.discourse-cdn.com/v4/letter/m/cab0a1/32.png) [@MaxPeroch](https://softwaremill.community/u/MaxPeroch)\
**Post date:** [January 16, 2025, 7:50pm UTC](https://softwaremill.community/t/async-http-client-backends-removal/468/3 "2025-01-16T19:50:06Z")

</div>

I will have a look, thanks!

Otherwise, is the Http4s backend not supporting Websocket a limitation from Ember, or is it just not implemented by the sttp wrapper?

---

<div class="post-metadata">

**Author:** ![MaxPeroch](https://avatars.discourse-cdn.com/v4/letter/m/cab0a1/32.png) [@MaxPeroch](https://softwaremill.community/u/MaxPeroch)\
**Post date:** [January 17, 2025, 6:38pm UTC](https://softwaremill.community/t/async-http-client-backends-removal/468/4 "2025-01-17T18:38:37Z")

</div>

Hi Adam, unfortunately using the FS2 backend I run into `Streaming multipart bodies are not supported` … I don’t believe there are currently any alternative, right?

---

<div class="post-metadata">

**Author:** ![adamw](https://dub1.discourse-cdn.com/flex005/user_avatar/softwaremill.community/adamw/32/28_2.png) [@adamw](https://softwaremill.community/u/adamw)\
**Post date:** [January 18, 2025, 8:51am UTC](https://softwaremill.community/t/async-http-client-backends-removal/468/5 "2025-01-18T08:51:11Z")

</div>

Ah - indeed! The `Http4sBackend` should work for you just fine, then. It does support multipart streaming bodies.

Could you also create an issue to add support for streaming multipart bodies to the default HttpClient-based backend?

---

<div class="post-metadata">

**Author:** ![MaxPeroch](https://avatars.discourse-cdn.com/v4/letter/m/cab0a1/32.png) [@MaxPeroch](https://softwaremill.community/u/MaxPeroch)\
**Post date:** [January 20, 2025, 5:11pm UTC](https://softwaremill.community/t/async-http-client-backends-removal/468/6 "2025-01-20T17:11:21Z")

</div>

`Http4sBackend` doesn’t support websockets though, so I do need to use both clients, don’t I?

Done! [Add support for streaming multipart bodies to the default HttpClient-based backend · Issue #2407 · softwaremill/sttp · GitHub](https://github.com/softwaremill/sttp/issues/2407)

---

<div class="post-metadata">

**Author:** ![adamw](https://dub1.discourse-cdn.com/flex005/user_avatar/softwaremill.community/adamw/32/28_2.png) [@adamw](https://softwaremill.community/u/adamw)\
**Post date:** [January 20, 2025, 5:53pm UTC](https://softwaremill.community/t/async-http-client-backends-removal/468/7 "2025-01-20T17:53:40Z")

</div>

Ah! Well that should be another issue 🙂

Both are doable (adding multipart streaming to HttpClient-backend, and WS to http4s backend), but need some work.

---

<div class="post-metadata">

**Author:** ![MaxPeroch](https://avatars.discourse-cdn.com/v4/letter/m/cab0a1/32.png) [@MaxPeroch](https://softwaremill.community/u/MaxPeroch)\
**Post date:** [January 20, 2025, 6:11pm UTC](https://softwaremill.community/t/async-http-client-backends-removal/468/8 "2025-01-20T18:11:30Z")

</div>

Created another ticket for Http4s then [Add support for WS to http4s backend · Issue #2409 · softwaremill/sttp · GitHub](https://github.com/softwaremill/sttp/issues/2409) 🙂

Yes I’m sure… 😬 At least back to my original question, I can swap the async http client with the Fs2 one, so there is that!
