WebSocketUpgrade

Provides factory for upgrading request to WebSocket connection.

import scamper.http.HttpRequest
import scamper.http.ResponseStatus.Registry.Unauthorized
import scamper.http.server.{ ServerApplication, WebSocketUpgrade }

val app = ServerApplication()

app.get("/chat/:roomId") { req =>
 def authorize(req: HttpRequest): Boolean = ...

 authorize(req) match
   case true  =>
     WebSocketUpgrade(req) { session =>
       // Set up session
       ...
       session.open()
     }
   case false => Unauthorized()
}
class Object
trait Matchable
class Any

Value members

Concrete methods

Upgrades request to WebSocket connection.

Upgrades request to WebSocket connection.

If request is successfully upgraded to WebSocket, the supplied application will be invoked after connection is established.

Value Params
application

WebSocket application

req

request

Returns

101 (Switching Protocols) if valid WebSocket upgrade request; otherwise, 400 (Bad Request)