akka / akka/akka-http

Make Http().webSocketClientFlow reusable by creating "reconstructing" wrapper stage

Open
#561 0 comments 0 reactions 0 assignees View on GitHub
1 - triaged t:core
Dominant language
Scala
Stars
1.4k
Forks
584
Avg merge
14h 33m
Merged PRs (30d)
24

Description

`Http().webSocketClientFlow` isn't reusable right now. This is documented but still trips up users now and then. I think we could provide a general wrapper flow that takes a constructor function `() => Flow[T, U]` which would reconstruct the flow on each materialization and connect it to its inputs and outputs.

Contributor guide

Open the contributing guide

Research direction

Start at Http().webSocketClientFlow and its documentation, then trace how the flow is materialized and connected to inputs and outputs. The work is complete when a general wrapper accepts a () => Flow[T, U], reconstructs it for each materialization, and makes the client flow reusable.

Written by the indexing model from the issue text.

Assessment

Tech stack
scala
Domain
backend, networking
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.