aboutsummaryrefslogtreecommitdiffstats
path: root/packages/connect/src/utils/orderbook_channel_message_parser.ts
diff options
context:
space:
mode:
authorBrandon Millman <brandon@0xproject.com>2018-07-12 05:40:19 +0800
committerGitHub <noreply@github.com>2018-07-12 05:40:19 +0800
commitb82fdd59e70e92ef139f5eeed8ed383a89866c7d (patch)
tree41e396a32680d74dfd8122f38ac5b23b7ac7fa5e /packages/connect/src/utils/orderbook_channel_message_parser.ts
parent8fcc7aefa7651311c5a6348101eb023d28799934 (diff)
parent6190ac7791cec92b6f4be0735a5914ce2d418ab5 (diff)
downloaddexon-sol-tools-b82fdd59e70e92ef139f5eeed8ed383a89866c7d.tar
dexon-sol-tools-b82fdd59e70e92ef139f5eeed8ed383a89866c7d.tar.gz
dexon-sol-tools-b82fdd59e70e92ef139f5eeed8ed383a89866c7d.tar.bz2
dexon-sol-tools-b82fdd59e70e92ef139f5eeed8ed383a89866c7d.tar.lz
dexon-sol-tools-b82fdd59e70e92ef139f5eeed8ed383a89866c7d.tar.xz
dexon-sol-tools-b82fdd59e70e92ef139f5eeed8ed383a89866c7d.tar.zst
dexon-sol-tools-b82fdd59e70e92ef139f5eeed8ed383a89866c7d.zip
Merge pull request #626 from 0xProject/refactor/connect/browser-websocket-support
Add support for browser websocket client and fix multiple subscriptions bug
Diffstat (limited to 'packages/connect/src/utils/orderbook_channel_message_parser.ts')
-rw-r--r--packages/connect/src/utils/orderbook_channel_message_parser.ts8
1 files changed, 7 insertions, 1 deletions
diff --git a/packages/connect/src/utils/orderbook_channel_message_parser.ts b/packages/connect/src/utils/orderbook_channel_message_parser.ts
index 9a9ca8901..593288078 100644
--- a/packages/connect/src/utils/orderbook_channel_message_parser.ts
+++ b/packages/connect/src/utils/orderbook_channel_message_parser.ts
@@ -8,10 +8,16 @@ import { relayerResponseJsonParsers } from './relayer_response_json_parsers';
export const orderbookChannelMessageParser = {
parse(utf8Data: string): OrderbookChannelMessage {
+ // parse the message
const messageObj = JSON.parse(utf8Data);
+ // ensure we have a type parameter to switch on
const type: string = _.get(messageObj, 'type');
assert.assert(!_.isUndefined(type), `Message is missing a type parameter: ${utf8Data}`);
assert.isString('type', type);
+ // ensure we have a request id for the resulting message
+ const requestId: number = _.get(messageObj, 'requestId');
+ assert.assert(!_.isUndefined(requestId), `Message is missing a requestId parameter: ${utf8Data}`);
+ assert.isNumber('requestId', requestId);
switch (type) {
case OrderbookChannelMessageTypes.Snapshot: {
assert.doesConformToSchema('message', messageObj, schemas.relayerApiOrderbookChannelSnapshotSchema);
@@ -28,7 +34,7 @@ export const orderbookChannelMessageParser = {
default: {
return {
type: OrderbookChannelMessageTypes.Unknown,
- requestId: 0,
+ requestId,
payload: undefined,
};
}