2424use Hyperf \Dispatcher \HttpDispatcher ;
2525use Hyperf \Engine \Constant ;
2626use Hyperf \Engine \Http \FdGetter ;
27+ use Hyperf \Engine \Http \Server as HttpServer ;
2728use Hyperf \Engine \WebSocket \WebSocket ;
2829use Hyperf \ExceptionHandler \ExceptionHandlerDispatcher ;
2930use Hyperf \HttpMessage \Base \Response ;
4445use Psr \Container \ContainerInterface ;
4546use Psr \Http \Message \ResponseInterface ;
4647use Psr \Http \Message \ServerRequestInterface ;
48+ use Swoole \Coroutine \Http \Server as SwCoServer ;
4749use Swoole \Http \Response as SwooleResponse ;
4850use Swoole \Server as SwooleServer ;
4951use Swoole \WebSocket \Server as WebSocketServer ;
52+ use Swow \Http \Server \Connection ;
5053use Throwable ;
5154
5255class Server implements MiddlewareInitializerInterface, OnHandShakeInterface, OnCloseInterface, OnMessageInterface
@@ -60,7 +63,7 @@ class Server implements MiddlewareInitializerInterface, OnHandShakeInterface, On
6063 protected string $ serverName = 'websocket ' ;
6164
6265 /**
63- * @var null|\Swoole\Coroutine\Http\Server |WebSocketServer
66+ * @var null|HttpServer|SwCoServer |WebSocketServer
6467 */
6568 protected mixed $ server = null ;
6669
@@ -80,7 +83,7 @@ public function initCoreMiddleware(string $serverName): void
8083 ]);
8184 }
8285
83- public function getServer (): \ Swoole \ Coroutine \ Http \ Server |WebSocketServer
86+ public function getServer (): SwCoServer |WebSocketServer | HttpServer
8487 {
8588 if ($ this ->server ) {
8689 return $ this ->server ;
@@ -105,7 +108,7 @@ public function getSender(): Sender
105108
106109 /**
107110 * @param \Swoole\Http\Request|\Swow\Http\Server\Request $request
108- * @param SwooleResponse $response
111+ * @param Connection| SwooleResponse $response
109112 */
110113 public function onHandShake ($ request , $ response ): void
111114 {
@@ -149,8 +152,7 @@ public function onHandShake($request, $response): void
149152 if (Constant::isCoroutineServer ($ server )) {
150153 $ upgrade = new WebSocket ($ response , $ request );
151154
152- // TODO: Support SWOW
153- $ response instanceof SwooleResponse && $ this ->getSender ()->setResponse ($ fd , $ response );
155+ $ this ->getSender ()->setResponse ($ fd , $ response );
154156 $ this ->deferOnOpen ($ request , $ class , $ response , $ fd );
155157
156158 $ upgrade ->on (WebSocket::ON_MESSAGE , $ this ->getOnMessageCallback ());
@@ -240,7 +242,7 @@ protected function getFd($response): int
240242 /**
241243 * @param mixed $request
242244 */
243- protected function deferOnOpen ($ request , string $ class , SwooleResponse |WebSocketServer $ server , int $ fd )
245+ protected function deferOnOpen ($ request , string $ class , SwooleResponse |WebSocketServer | Connection $ server , int $ fd )
244246 {
245247 $ instance = $ this ->container ->get ($ class );
246248 if ($ server instanceof WebSocketServer) {
0 commit comments