* Called with socket packet. * * @param packet * @private
(packet: Packet)
| 700 | * @private |
| 701 | */ |
| 702 | private onpacket(packet: Packet): void { |
| 703 | const sameNamespace = packet.nsp === this.nsp; |
| 704 | |
| 705 | if (!sameNamespace) return; |
| 706 | |
| 707 | switch (packet.type) { |
| 708 | case PacketType.CONNECT: |
| 709 | if (packet.data && packet.data.sid) { |
| 710 | this.onconnect(packet.data.sid, packet.data.pid); |
| 711 | } else { |
| 712 | this.emitReserved( |
| 713 | class="st">"connect_error", |
| 714 | new Error( |
| 715 | class="st">"It seems you are trying to reach a Socket.IO server in v2.x with a v3.x client, but they are not compatible (more information here: https:class="cm">//socket.io/docs/v3/migrating-from-2-x-to-3-0/)", |
| 716 | ), |
| 717 | ); |
| 718 | } |
| 719 | break; |
| 720 | |
| 721 | case PacketType.EVENT: |
| 722 | case PacketType.BINARY_EVENT: |
| 723 | this.onevent(packet); |
| 724 | break; |
| 725 | |
| 726 | case PacketType.ACK: |
| 727 | case PacketType.BINARY_ACK: |
| 728 | this.onack(packet); |
| 729 | break; |
| 730 | |
| 731 | case PacketType.DISCONNECT: |
| 732 | this.ondisconnect(); |
| 733 | break; |
| 734 | |
| 735 | case PacketType.CONNECT_ERROR: |
| 736 | this.destroy(); |
| 737 | const err = new Error(packet.data.message); |
| 738 | class="cm">// @ts-ignore |
| 739 | err.data = packet.data.data; |
| 740 | this.emitReserved(class="st">"connect_error", err); |
| 741 | break; |
| 742 | } |
| 743 | } |
| 744 | |
| 745 | /** |
| 746 | * Called upon a server event. |
no test coverage detected