@showbridge/lib
Version:
Main library for showbridge protocol router
45 lines (44 loc) • 1.1 kB
JavaScript
class WebSocketMessage {
constructor(msg, sender) {
this.payload = msg.toString();
this.sender = sender;
if (this.sender?.address?.substr(0, 7) === '::ffff:') {
this.sender.address = this.sender.address.substr(7);
}
}
processPayload() {
try {
this.processedPayload = JSON.parse(this.msg.toString());
}
catch (error) {
this.processedPayload = this.msg.toString();
}
}
get messageType() {
return 'ws';
}
get payload() {
return this.processedPayload;
}
set payload(payload) {
this.msg = payload;
this.processPayload();
}
get bytes() {
return Buffer.from(this.msg.toString());
}
toString() {
return this.msg.toString();
}
toJSON() {
return {
messageType: this.messageType,
msg: this.msg,
sender: this.sender,
};
}
static fromJSON(json) {
return new WebSocketMessage(json.msg, json.sender);
}
}
export default WebSocketMessage;