Class for creating a WebSocket server and sending messages between development server and the React Native applications.
↳ WebSocketMessageServer
• new WebSocketMessageServer(fastify)
Create new instance of WebSocketMessageServer and attach it to the given Fastify instance.
Any logging information, will be passed through standard fastify.log API.
| Name | Type | Description | 
|---|---|---|
fastify | 
FastifyDevServer | 
Fastify instance to attach the WebSocket server to. | 
packages/repack/src/server/ws/WebSocketMessageServer.ts:92
• Protected fastify: FastifyDevServer
Fastify instance from which server will receive upgrade connections.
packages/repack/src/server/ws/WebSocketServer.ts:16
• Readonly paths: string[]
packages/repack/src/server/ws/WebSocketServer.ts:18
• Readonly server: Server
An instance of the underlying WebSocket server.
packages/repack/src/server/ws/WebSocketServer.ts:13
▪ Static Readonly PROTOCOL_VERSION: 2
packages/repack/src/server/ws/WebSocketMessageServer.ts:39
▸ broadcast(method, params?): void
Send method broadcast to all connected clients.
| Name | Type | Description | 
|---|---|---|
method | 
string | 
Method name to broadcast. | 
params? | 
Record<string, any> | 
Method parameters. | 
void
packages/repack/src/server/ws/WebSocketMessageServer.ts:348
▸ forwardRequest(clientId, message): void
Send given request message to it's designated client's socket based on message.target.
The target client must be connected, otherwise it will throw an error.
| Name | Type | Description | 
|---|---|---|
clientId | 
string | 
Id of the client that requested the forward. | 
message | 
Partial<ReactNativeMessage> | 
Message to forward. | 
void
packages/repack/src/server/ws/WebSocketMessageServer.ts:204
▸ forwardResponse(message): void
Send given response message to it's designated client's socket based
on message.id.clientId.
The target client must be connected, otherwise it will throw an error.
| Name | Type | Description | 
|---|---|---|
message | 
Partial<ReactNativeMessage> | 
Message to forward. | 
void
packages/repack/src/server/ws/WebSocketMessageServer.ts:235
▸ getClientSocket(clientId): WebSocketWithUpgradeReq
Get client's WebSocket connection for given clientId.
Throws if no such client is connected.
| Name | Type | Description | 
|---|---|---|
clientId | 
string | 
Id of the client. | 
WebSocketWithUpgradeReq
WebSocket connection.
packages/repack/src/server/ws/WebSocketMessageServer.ts:140
▸ handleError(clientId, message, error): void
Process error by sending an error message to the client whose message caused the error to occur.
| Name | Type | Description | 
|---|---|---|
clientId | 
string | 
Id of the client whose message caused an error. | 
message | 
Partial<ReactNativeMessage> | 
Original message which caused the error. | 
error | 
Error | 
Concrete instance of an error that occurred. | 
void
packages/repack/src/server/ws/WebSocketMessageServer.ts:156
▸ onConnection(socket, request): void
Process new client's WebSocket connection.
| Name | Type | Description | 
|---|---|---|
socket | 
WebSocket | 
Incoming WebSocket connection. | 
request | 
IncomingMessage | 
Upgrade request for the connection. | 
void
packages/repack/src/server/ws/WebSocketMessageServer.ts:358
▸ parseMessage(data, binary): undefined | Partial<ReactNativeMessage>
Parse stringified message into a ReactNativeMessage.
| Name | Type | Description | 
|---|---|---|
data | 
string | 
Stringified message. | 
binary | 
any | 
Additional binary data if any. | 
undefined | Partial<ReactNativeMessage>
Parsed message or undefined if parsing failed.
packages/repack/src/server/ws/WebSocketMessageServer.ts:103
▸ processServerRequest(clientId, message): void
Process request message targeted towards this WebSocketMessageServer and send back the results.
| Name | Type | Description | 
|---|---|---|
clientId | 
string | 
Id of the client who send the message. | 
message | 
Partial<ReactNativeMessage> | 
The message to process by the server. | 
void
packages/repack/src/server/ws/WebSocketMessageServer.ts:258
▸ sendBroadcast(broadcasterId, message): void
Broadcast given message to all connected clients.
| Name | Type | Description | 
|---|---|---|
broadcasterId | 
undefined | string | 
Id of the client who is broadcasting. | 
message | 
Partial<ReactNativeMessage> | 
Message to broadcast. | 
void
packages/repack/src/server/ws/WebSocketMessageServer.ts:307
▸ shouldUpgrade(pathname): boolean
| Name | Type | 
|---|---|
pathname | 
string | 
boolean
packages/repack/src/server/ws/WebSocketServer.ts:45
▸ upgrade(request, socket, head): void
| Name | Type | 
|---|---|
request | 
IncomingMessage | 
socket | 
Socket | 
head | 
Buffer | 
void
packages/repack/src/server/ws/WebSocketServer.ts:49
▸ Static isBroadcast(message): boolean
Check if message is a broadcast request.
| Name | Type | Description | 
|---|---|---|
message | 
Partial<ReactNativeMessage> | 
Message to check. | 
boolean
True if message is a broadcast request and should be broadcasted with sendBroadcast.
packages/repack/src/server/ws/WebSocketMessageServer.ts:48
▸ Static isRequest(message): boolean
Check if message is a method request.
| Name | Type | Description | 
|---|---|---|
message | 
Partial<ReactNativeMessage> | 
Message to check. | 
boolean
True if message is a request.
packages/repack/src/server/ws/WebSocketMessageServer.ts:62
▸ Static isResponse(message): boolean
Check if message is a response with results of performing some request.
| Name | Type | Description | 
|---|---|---|
message | 
Partial<ReactNativeMessage> | 
Message to check. | 
boolean
True if message is a response.