WebsocketContext.fromRequest constructor

WebsocketContext.fromRequest(
  1. ServerMessage msg
)

Implementation

factory WebsocketContext.fromRequest($wp.ServerMessage msg) {
  var eventType = WebsocketEvent.connect;
  if (msg.websocketEventRequest.hasDisconnection()) {
    eventType = WebsocketEvent.disconnect;
  } else if (msg.websocketEventRequest.hasMessage()) {
    eventType = WebsocketEvent.message;
  }

  var message = "";
  if (msg.websocketEventRequest.hasMessage()) {
    message = utf8.decode(msg.websocketEventRequest.message.body);
  }

  Map<String, List<String>> queryParams = {};
  if (msg.websocketEventRequest.hasConnection()) {
    queryParams = msg.websocketEventRequest.connection.queryParams
        .map((key, value) => MapEntry(key, value.value));
  }

  return WebsocketContext(
      msg.id,
      WebsocketRequest(
          msg.websocketEventRequest.socketName,
          msg.websocketEventRequest.connectionId,
          eventType,
          queryParams,
          message),
      WebsocketResponse());
}