| 162 | } |
| 163 | |
| 164 | resolveRequestsForMessage(message: ClientServerSocketMessage) { |
| 165 | for (const inflightRequest of this.data) { |
| 166 | if ( |
| 167 | message.responseTo === null || |
| 168 | message.responseTo === undefined || |
| 169 | inflightRequest.messageID !== message.responseTo |
| 170 | ) { |
| 171 | continue; |
| 172 | } |
| 173 | if (message.type === serverSocketMessageTypes.ERROR) { |
| 174 | const error = message.payload |
| 175 | ? new ServerError(message.message, message.payload) |
| 176 | : new ServerError(message.message); |
| 177 | inflightRequest.reject(error); |
| 178 | } else if (message.type === serverSocketMessageTypes.AUTH_ERROR) { |
| 179 | inflightRequest.reject(new SocketOffline('auth_error')); |
| 180 | } else if ( |
| 181 | message.type === serverSocketMessageTypes.STATE_SYNC && |
| 182 | inflightRequest.expectedResponseType === |
| 183 | serverSocketMessageTypes.STATE_SYNC |
| 184 | ) { |
| 185 | inflightRequest.resolve(message); |
| 186 | } else if ( |
| 187 | message.type === serverSocketMessageTypes.REQUESTS && |
| 188 | inflightRequest.expectedResponseType === |
| 189 | serverSocketMessageTypes.REQUESTS |
| 190 | ) { |
| 191 | inflightRequest.resolve(message); |
| 192 | } else if ( |
| 193 | message.type === serverSocketMessageTypes.ACTIVITY_UPDATE_RESPONSE && |
| 194 | inflightRequest.expectedResponseType === |
| 195 | serverSocketMessageTypes.ACTIVITY_UPDATE_RESPONSE |
| 196 | ) { |
| 197 | inflightRequest.resolve(message); |
| 198 | } else if ( |
| 199 | message.type === serverSocketMessageTypes.PONG && |
| 200 | inflightRequest.expectedResponseType === serverSocketMessageTypes.PONG |
| 201 | ) { |
| 202 | inflightRequest.resolve(message); |
| 203 | } else if ( |
| 204 | message.type === serverSocketMessageTypes.API_RESPONSE && |
| 205 | inflightRequest.expectedResponseType === |
| 206 | serverSocketMessageTypes.API_RESPONSE |
| 207 | ) { |
| 208 | inflightRequest.resolve(message); |
| 209 | } |
| 210 | } |
| 211 | } |
| 212 | |
| 213 | rejectAll(error: Error) { |
| 214 | const { data } = this; |