WebSocketUpgrade

scamper.http.server.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()
}

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
Self type

Members list

Value members

Concrete methods

def apply(req: HttpRequest)(application: WebSocketApplication[_]): HttpResponse

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 parameters

application

WebSocket application

req

request

Attributes

Returns

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