!htc move scala side WebsocketUpgradeResponse to scaladsl.model.ws
This makes it consistent with the java side and cleans up scaladsl.Http.
This commit is contained in:
parent
4a5610e282
commit
c040e2b69e
6 changed files with 26 additions and 21 deletions
|
|
@ -4,9 +4,8 @@
|
|||
|
||||
package akka.http.impl.engine.ws
|
||||
|
||||
import akka.http.scaladsl.model.ws.WebsocketRequest
|
||||
import akka.http.scaladsl.model.ws._
|
||||
|
||||
import scala.collection.immutable
|
||||
import scala.concurrent.{ Future, Promise }
|
||||
|
||||
import akka.util.ByteString
|
||||
|
|
@ -19,8 +18,7 @@ import akka.stream.scaladsl._
|
|||
|
||||
import akka.http.ClientConnectionSettings
|
||||
import akka.http.scaladsl.Http
|
||||
import akka.http.scaladsl.Http.{ InvalidUpgradeResponse, ValidUpgrade, WebsocketUpgradeResponse }
|
||||
import akka.http.scaladsl.model.{ HttpHeader, HttpResponse, HttpMethods, Uri }
|
||||
import akka.http.scaladsl.model.{ HttpResponse, HttpMethods }
|
||||
import akka.http.scaladsl.model.headers.Host
|
||||
|
||||
import akka.http.impl.engine.parsing.HttpMessageParser.StateResult
|
||||
|
|
|
|||
|
|
@ -628,7 +628,7 @@ class Http(system: ExtendedActorSystem) extends akka.actor.Extension {
|
|||
JavaMapping.adapterBidiFlow[Message, sm.ws.Message, sm.ws.Message, Message]
|
||||
.atopMat(wsLayer)((_, s) ⇒ adaptWsUpgradeResponse(s)))
|
||||
|
||||
private def adaptWsFlow(wsLayer: stream.scaladsl.Flow[sm.ws.Message, sm.ws.Message, Future[scaladsl.Http.WebsocketUpgradeResponse]]): Flow[Message, Message, Future[WebsocketUpgradeResponse]] =
|
||||
private def adaptWsFlow(wsLayer: stream.scaladsl.Flow[sm.ws.Message, sm.ws.Message, Future[scaladsl.model.ws.WebsocketUpgradeResponse]]): Flow[Message, Message, Future[WebsocketUpgradeResponse]] =
|
||||
Flow.adapt(JavaMapping.adapterBidiFlow[Message, sm.ws.Message, sm.ws.Message, Message].joinMat(wsLayer)(Keep.right).mapMaterializedValue(adaptWsUpgradeResponse _))
|
||||
|
||||
private def adaptWsFlow[Mat](javaFlow: Flow[Message, Message, Mat]): stream.scaladsl.Flow[scaladsl.model.ws.Message, scaladsl.model.ws.Message, Mat] =
|
||||
|
|
@ -637,10 +637,10 @@ class Http(system: ExtendedActorSystem) extends akka.actor.Extension {
|
|||
.viaMat(javaFlow.asScala)(Keep.right)
|
||||
.map(_.asScala)
|
||||
|
||||
private def adaptWsResultTuple[T](result: (Future[scaladsl.Http.WebsocketUpgradeResponse], T)): Pair[Future[WebsocketUpgradeResponse], T] =
|
||||
private def adaptWsResultTuple[T](result: (Future[scaladsl.model.ws.WebsocketUpgradeResponse], T)): Pair[Future[WebsocketUpgradeResponse], T] =
|
||||
result match {
|
||||
case (fut, tMat) ⇒ Pair(adaptWsUpgradeResponse(fut), tMat)
|
||||
}
|
||||
private def adaptWsUpgradeResponse(responseFuture: Future[scaladsl.Http.WebsocketUpgradeResponse]): Future[WebsocketUpgradeResponse] =
|
||||
private def adaptWsUpgradeResponse(responseFuture: Future[scaladsl.model.ws.WebsocketUpgradeResponse]): Future[WebsocketUpgradeResponse] =
|
||||
responseFuture.map(WebsocketUpgradeResponse.adapt)(system.dispatcher)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ package akka.http.javadsl.model.ws
|
|||
|
||||
import akka.http.javadsl.model.HttpResponse
|
||||
import akka.http.scaladsl
|
||||
import akka.http.scaladsl.Http.{ InvalidUpgradeResponse, ValidUpgrade }
|
||||
import akka.http.scaladsl.model.ws.{ InvalidUpgradeResponse, ValidUpgrade }
|
||||
import akka.japi.Option
|
||||
|
||||
/**
|
||||
|
|
@ -36,7 +36,7 @@ trait WebsocketUpgradeResponse {
|
|||
|
||||
object WebsocketUpgradeResponse {
|
||||
import akka.http.impl.util.JavaMapping.Implicits._
|
||||
def adapt(scalaResponse: scaladsl.Http.WebsocketUpgradeResponse): WebsocketUpgradeResponse =
|
||||
def adapt(scalaResponse: scaladsl.model.ws.WebsocketUpgradeResponse): WebsocketUpgradeResponse =
|
||||
scalaResponse match {
|
||||
case ValidUpgrade(response, chosen) ⇒
|
||||
new WebsocketUpgradeResponse {
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ import akka.http.impl.util.{ ReadTheDocumentationException, Java6Compat, StreamU
|
|||
import akka.http.impl.engine.ws.WebsocketClientBlueprint
|
||||
import akka.http.scaladsl.model._
|
||||
import akka.http.scaladsl.model.headers.Host
|
||||
import akka.http.scaladsl.model.ws.{ WebsocketRequest, Message }
|
||||
import akka.http.scaladsl.model.ws.{ WebsocketUpgradeResponse, WebsocketRequest, Message }
|
||||
import akka.http.scaladsl.util.FastFuture
|
||||
import akka.japi
|
||||
import akka.stream.Materializer
|
||||
|
|
@ -689,15 +689,6 @@ object Http extends ExtensionId[HttpExt] with ExtensionIdProvider {
|
|||
*/
|
||||
final case class OutgoingConnection(localAddress: InetSocketAddress, remoteAddress: InetSocketAddress)
|
||||
|
||||
/**
|
||||
* Represents the response to a websocket upgrade request. Can either be [[ValidUpgrade]] or [[InvalidUpgradeResponse]].
|
||||
*/
|
||||
sealed trait WebsocketUpgradeResponse {
|
||||
def response: HttpResponse
|
||||
}
|
||||
final case class ValidUpgrade(response: HttpResponse, chosenSubprotocol: Option[String]) extends WebsocketUpgradeResponse
|
||||
final case class InvalidUpgradeResponse(response: HttpResponse, cause: String) extends WebsocketUpgradeResponse
|
||||
|
||||
/**
|
||||
* Represents a connection pool to a specific target host and pool configuration.
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -0,0 +1,16 @@
|
|||
/*
|
||||
* Copyright (C) 2009-2015 Typesafe Inc. <http://www.typesafe.com>
|
||||
*/
|
||||
|
||||
package akka.http.scaladsl.model.ws
|
||||
|
||||
import akka.http.scaladsl.model.HttpResponse
|
||||
|
||||
/**
|
||||
* Represents the response to a websocket upgrade request. Can either be [[ValidUpgrade]] or [[InvalidUpgradeResponse]].
|
||||
*/
|
||||
sealed trait WebsocketUpgradeResponse {
|
||||
def response: HttpResponse
|
||||
}
|
||||
final case class ValidUpgrade(response: HttpResponse, chosenSubprotocol: Option[String]) extends WebsocketUpgradeResponse
|
||||
final case class InvalidUpgradeResponse(response: HttpResponse, cause: String) extends WebsocketUpgradeResponse
|
||||
|
|
@ -6,7 +6,7 @@ package akka.http.impl.engine.ws
|
|||
|
||||
import java.util.Random
|
||||
|
||||
import akka.http.scaladsl.Http.{ InvalidUpgradeResponse, WebsocketUpgradeResponse }
|
||||
import akka.http.scaladsl.model.ws.{ InvalidUpgradeResponse, WebsocketUpgradeResponse }
|
||||
|
||||
import scala.concurrent.duration._
|
||||
|
||||
|
|
@ -14,7 +14,7 @@ import akka.http.ClientConnectionSettings
|
|||
import akka.http.scaladsl.Http
|
||||
import akka.http.scaladsl.model.headers.{ ProductVersion, `User-Agent` }
|
||||
import akka.http.scaladsl.model.ws._
|
||||
import akka.http.scaladsl.model.{ HttpResponse, Uri }
|
||||
import akka.http.scaladsl.model.Uri
|
||||
import akka.stream.io._
|
||||
import akka.stream.scaladsl._
|
||||
import akka.stream.testkit.{ TestSubscriber, TestPublisher }
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue