extractUpgradeToWebSocket
Description
This directive is deprecated, see extractWebSocketUpgrade instead.
If you are looking for a building block for Custom Directives to provide the websocket upgrade information to the inner route, we recommend using the WebSocketUpgrade
attribute instead:
- Scala
-
source
import akka.http.scaladsl.model.AttributeKeys.webSocketUpgrade def echoService: Flow[Message, Message, Any] = Flow[Message] // needed because a noop flow hasn't any buffer that would start processing in tests .buffer(1, OverflowStrategy.backpressure) def route = path("services") { extractWebSocketUpgrade { upgrade => complete(upgrade.handleMessages(echoService, Some("echo"))) } } // tests: val wsClient = WSProbe() // WS creates a WebSocket request for testing WS("/services", wsClient.flow, Nil) ~> route ~> check { expectWebSocketUpgradeWithProtocol { protocol => protocol shouldEqual "echo" wsClient.sendMessage("ping") wsClient.expectMessage("ping") wsClient.sendCompletion() wsClient.expectCompletion() } }
- Java