Here's a dump of a test run where I add an extension to the node adapter I create that logs all activity.
I built faye by cloning the repo in master (current HEAD is 89f86255318f80c1b5542f884769368438eaa72c), running "jake" in master, and running "mv build/* ." to make the built files available for require.
Let me know if there's anything else I can do to make myself useful :)
coldcache ~/c/b/buster-capture-server % node test/buster-capture-server-test.js
The "sys" module is now called "util". It should have a similar interface.
Capture server: E
Error: Capture server attached to http server with captured slave ending session emits event
[LOG] IN {
channel: "/meta/handshake",
id: "1",
supportedConnectionTypes: ["in-process"],
version: "1.0"
}
[LOG] OUT {
advice: { interval: 0, reconnect: "retry", timeout: 1000 },
channel: "/meta/handshake",
clientId: "1bu7zyd1m17ysb0puos8c0q7s8in",
id: "1",
successful: true,
supportedConnectionTypes: ["long-polling", "cross-origin-long-polling", "callback-polling", "websocket", "eventsource", "in-process"],
version: "1.0"
}
[LOG] IN {
channel: "/meta/subscribe",
clientId: "1bu7zyd1m17ysb0puos8c0q7s8in",
id: "2",
subscription: "/capture"
}
[LOG] OUT {
channel: "/meta/subscribe",
clientId: "1bu7zyd1m17ysb0puos8c0q7s8in",
id: "2",
subscription: "/capture",
successful: true
}
[LOG] IN {
channel: "/meta/connect",
clientId: "1bu7zyd1m17ysb0puos8c0q7s8in",
connectionType: "in-process",
id: "3"
}
[LOG] IN {
channel: "/meta/subscribe",
clientId: "1bu7zyd1m17ysb0puos8c0q7s8in",
id: "4",
subscription: "/slaves/4d776160-826e-4d46-b6f1-413efd2f29b6/ready"
}
[LOG] OUT {
channel: "/meta/subscribe",
clientId: "1bu7zyd1m17ysb0puos8c0q7s8in",
id: "4",
subscription: "/slaves/4d776160-826e-4d46-b6f1-413efd2f29b6/ready",
successful: true
}
[LOG] IN {
channel: "/capture",
clientId: "1bu7zyd1m17ysb0puos8c0q7s8in",
data: {
becomesReadyPath: "/slaves/4d776160-826e-4d46-b6f1-413efd2f29b6/ready",
id: "4d776160-826e-4d46-b6f1-413efd2f29b6",
noSessionPath: "/slaves/4d776160-826e-4d46-b6f1-413efd2f29b6/no_session",
url: "/slaves/4d776160-826e-4d46-b6f1-413efd2f29b6/browser",
userAgent: "Mozilla/5.0 (Android; Linux armv7l; rv:10.0) Gecko/20120129 Firefox/10.0 Fennec/10.0"
},
id: "5"
}
[LOG] OUT {
channel: "/capture",
clientId: "1bu7zyd1m17ysb0puos8c0q7s8in",
id: "5",
successful: true
}
[LOG] OUT {
advice: { interval: 0, reconnect: "retry", timeout: 1000 },
channel: "/meta/connect",
clientId: "1bu7zyd1m17ysb0puos8c0q7s8in",
id: "3",
successful: true
}
[LOG] OUT {
channel: "/capture",
clientId: "1bu7zyd1m17ysb0puos8c0q7s8in",
data: {
becomesReadyPath: "/slaves/4d776160-826e-4d46-b6f1-413efd2f29b6/ready",
id: "4d776160-826e-4d46-b6f1-413efd2f29b6",
noSessionPath: "/slaves/4d776160-826e-4d46-b6f1-413efd2f29b6/no_session",
url: "/slaves/4d776160-826e-4d46-b6f1-413efd2f29b6/browser",
userAgent: "Mozilla/5.0 (Android; Linux armv7l; rv:10.0) Gecko/20120129 Firefox/10.0 Fennec/10.0"
},
id: "5"
}
[LOG] IN {
channel: "/meta/subscribe",
clientId: "1bu7zyd1m17ysb0puos8c0q7s8in",
id: "6",
subscription: "/4d776160-826e-4d46-b6f1-413efd2f29b6/session/end"
}
[LOG] OUT {
channel: "/meta/subscribe",
clientId: "1bu7zyd1m17ysb0puos8c0q7s8in",
id: "6",
subscription: "/4d776160-826e-4d46-b6f1-413efd2f29b6/session/end",
successful: true
}
[LOG] IN {
channel: "/meta/connect",
clientId: "1bu7zyd1m17ysb0puos8c0q7s8in",
connectionType: "in-process",
id: "7"
}
[LOG] IN {
channel: "/meta/subscribe",
clientId: "1bu7zyd1m17ysb0puos8c0q7s8in",
id: "8",
subscription: "/4d776160-826e-4d46-b6f1-413efd2f29b6/session/start"
}
[LOG] OUT {
channel: "/meta/subscribe",
clientId: "1bu7zyd1m17ysb0puos8c0q7s8in",
id: "8",
subscription: "/4d776160-826e-4d46-b6f1-413efd2f29b6/session/start",
successful: true
}
[LOG] IN {
channel: "/slaves/4d776160-826e-4d46-b6f1-413efd2f29b6/ready",
clientId: "1bu7zyd1m17ysb0puos8c0q7s8in",
data: { },
id: "9"
}
[LOG] OUT {
channel: "/slaves/4d776160-826e-4d46-b6f1-413efd2f29b6/ready",
clientId: "1bu7zyd1m17ysb0puos8c0q7s8in",
id: "9",
successful: true
}
[LOG] IN {
channel: "/meta/subscribe",
clientId: "1bu7zyd1m17ysb0puos8c0q7s8in",
id: "a",
subscription: "/session/start"
}
[LOG] OUT {
channel: "/meta/subscribe",
clientId: "1bu7zyd1m17ysb0puos8c0q7s8in",
id: "a",
subscription: "/session/start",
successful: true
}
[LOG] IN {
channel: "/meta/unsubscribe",
clientId: "1bu7zyd1m17ysb0puos8c0q7s8in",
id: "b",
subscription: "/capture"
}
[LOG] OUT {
channel: "/meta/unsubscribe",
clientId: "1bu7zyd1m17ysb0puos8c0q7s8in",
id: "b",
subscription: "/capture",
successful: true
}
[LOG] IN {
channel: "/session/create",
clientId: "1bu7zyd1m17ysb0puos8c0q7s8in",
data: {
session: {
bayeuxContextPath: "/sessions/8b98f7f3-e221-4aba-acba-710ea7530838/messaging",
id: "8b98f7f3-e221-4aba-acba-710ea7530838",
path: "/sessions/8b98f7f3-e221-4aba-acba-710ea7530838",
resourcesPath: "/sessions/8b98f7f3-e221-4aba-acba-710ea7530838/resources"
}
},
id: "c"
}
[LOG] OUT {
channel: "/session/create",
clientId: "1bu7zyd1m17ysb0puos8c0q7s8in",
id: "c",
successful: true
}
[LOG] OUT {
advice: { interval: 0, reconnect: "retry", timeout: 1000 },
channel: "/meta/connect",
clientId: "1bu7zyd1m17ysb0puos8c0q7s8in",
id: "7",
successful: true
}
[LOG] OUT {
channel: "/slaves/4d776160-826e-4d46-b6f1-413efd2f29b6/ready",
clientId: "1bu7zyd1m17ysb0puos8c0q7s8in",
data: { },
id: "9"
}
[LOG] IN {
channel: "/4d776160-826e-4d46-b6f1-413efd2f29b6/session/start",
clientId: "1bu7zyd1m17ysb0puos8c0q7s8in",
data: {
bayeuxContextPath: "/sessions/8b98f7f3-e221-4aba-acba-710ea7530838/messaging",
id: "8b98f7f3-e221-4aba-acba-710ea7530838",
path: "/sessions/8b98f7f3-e221-4aba-acba-710ea7530838",
resourcesPath: "/sessions/8b98f7f3-e221-4aba-acba-710ea7530838/resources"
},
id: "d"
}
[LOG] OUT {
channel: "/4d776160-826e-4d46-b6f1-413efd2f29b6/session/start",
clientId: "1bu7zyd1m17ysb0puos8c0q7s8in",
id: "d",
successful: true
}
[LOG] IN {
channel: "/meta/connect",
clientId: "1bu7zyd1m17ysb0puos8c0q7s8in",
connectionType: "in-process",
id: "e"
}
[LOG] IN {
channel: "/meta/subscribe",
clientId: "1bu7zyd1m17ysb0puos8c0q7s8in",
id: "f",
subscription: "/4d776160-826e-4d46-b6f1-413efd2f29b6/session/8b98f7f3-e221-4aba-acba-710ea7530838/ready"
}
[LOG] OUT {
channel: "/meta/subscribe",
clientId: "1bu7zyd1m17ysb0puos8c0q7s8in",
id: "f",
subscription: "/4d776160-826e-4d46-b6f1-413efd2f29b6/session/8b98f7f3-e221-4aba-acba-710ea7530838/ready",
successful: true
}
[LOG] IN {
channel: "/4d776160-826e-4d46-b6f1-413efd2f29b6/session/start",
clientId: "1bu7zyd1m17ysb0puos8c0q7s8in",
data: {
bayeuxContextPath: "/sessions/8b98f7f3-e221-4aba-acba-710ea7530838/messaging",
id: "8b98f7f3-e221-4aba-acba-710ea7530838",
path: "/sessions/8b98f7f3-e221-4aba-acba-710ea7530838",
resourcesPath: "/sessions/8b98f7f3-e221-4aba-acba-710ea7530838/resources"
},
id: "g"
}
[LOG] OUT {
channel: "/4d776160-826e-4d46-b6f1-413efd2f29b6/session/start",
clientId: "1bu7zyd1m17ysb0puos8c0q7s8in",
id: "g",
successful: true
}
[LOG] OUT {
advice: { interval: 0, reconnect: "retry", timeout: 1000 },
channel: "/meta/connect",
clientId: "1bu7zyd1m17ysb0puos8c0q7s8in",
id: "e",
successful: true
}
[LOG] OUT {
channel: "/4d776160-826e-4d46-b6f1-413efd2f29b6/session/start",
clientId: "1bu7zyd1m17ysb0puos8c0q7s8in",
data: {
bayeuxContextPath: "/sessions/8b98f7f3-e221-4aba-acba-710ea7530838/messaging",
id: "8b98f7f3-e221-4aba-acba-710ea7530838",
path: "/sessions/8b98f7f3-e221-4aba-acba-710ea7530838",
resourcesPath: "/sessions/8b98f7f3-e221-4aba-acba-710ea7530838/resources"
},
id: "d"
}
[LOG] OUT {
channel: "/4d776160-826e-4d46-b6f1-413efd2f29b6/session/start",
clientId: "1bu7zyd1m17ysb0puos8c0q7s8in",
data: {
bayeuxContextPath: "/sessions/8b98f7f3-e221-4aba-acba-710ea7530838/messaging",
id: "8b98f7f3-e221-4aba-acba-710ea7530838",
path: "/sessions/8b98f7f3-e221-4aba-acba-710ea7530838",
resourcesPath: "/sessions/8b98f7f3-e221-4aba-acba-710ea7530838/resources"
},
id: "g"
}
[LOG] IN {
channel: "/4d776160-826e-4d46-b6f1-413efd2f29b6/session/8b98f7f3-e221-4aba-acba-710ea7530838/ready",
clientId: "1bu7zyd1m17ysb0puos8c0q7s8in",
data: { },
id: "h"
}
[LOG] OUT {
channel: "/4d776160-826e-4d46-b6f1-413efd2f29b6/session/8b98f7f3-e221-4aba-acba-710ea7530838/ready",
clientId: "1bu7zyd1m17ysb0puos8c0q7s8in",
id: "h",
successful: true
}
[LOG] IN {
channel: "/meta/connect",
clientId: "1bu7zyd1m17ysb0puos8c0q7s8in",
connectionType: "in-process",
id: "i"
}
[LOG] IN {
channel: "/4d776160-826e-4d46-b6f1-413efd2f29b6/session/8b98f7f3-e221-4aba-acba-710ea7530838/ready",
clientId: "1bu7zyd1m17ysb0puos8c0q7s8in",
data: { },
id: "j"
}
[LOG] OUT {
channel: "/4d776160-826e-4d46-b6f1-413efd2f29b6/session/8b98f7f3-e221-4aba-acba-710ea7530838/ready",
clientId: "1bu7zyd1m17ysb0puos8c0q7s8in",
id: "j",
successful: true
}
[LOG] OUT {
advice: { interval: 0, reconnect: "retry", timeout: 1000 },
channel: "/meta/connect",
clientId: "1bu7zyd1m17ysb0puos8c0q7s8in",
id: "i",
successful: true
}
[LOG] OUT {
channel: "/4d776160-826e-4d46-b6f1-413efd2f29b6/session/8b98f7f3-e221-4aba-acba-710ea7530838/ready",
clientId: "1bu7zyd1m17ysb0puos8c0q7s8in",
data: { },
id: "h"
}
[LOG] OUT {
channel: "/4d776160-826e-4d46-b6f1-413efd2f29b6/session/8b98f7f3-e221-4aba-acba-710ea7530838/ready",
clientId: "1bu7zyd1m17ysb0puos8c0q7s8in",
data: { },
id: "j"
}
[LOG] IN {
channel: "/session/start",
clientId: "1bu7zyd1m17ysb0puos8c0q7s8in",
data: {
session: {
bayeuxContextPath: "/sessions/8b98f7f3-e221-4aba-acba-710ea7530838/messaging",
id: "8b98f7f3-e221-4aba-acba-710ea7530838",
path: "/sessions/8b98f7f3-e221-4aba-acba-710ea7530838",
resourcesPath: "/sessions/8b98f7f3-e221-4aba-acba-710ea7530838/resources"
},
slaves: [{
id: "4d776160-826e-4d46-b6f1-413efd2f29b6",
userAgent: "Mozilla/5.0 (Android; Linux armv7l; rv:10.0) Gecko/20120129 Firefox/10.0 Fennec/10.0"
}]
},
id: "k"
}
[LOG] OUT {
channel: "/session/start",
clientId: "1bu7zyd1m17ysb0puos8c0q7s8in",
id: "k",
successful: true
}
[LOG] IN {
channel: "/meta/connect",
clientId: "1bu7zyd1m17ysb0puos8c0q7s8in",
connectionType: "in-process",
id: "l"
}
[LOG] OUT {
advice: { interval: 0, reconnect: "retry", timeout: 1000 },
channel: "/meta/connect",
clientId: "1bu7zyd1m17ysb0puos8c0q7s8in",
id: "l",
successful: true
}
[LOG] OUT {
channel: "/session/start",
clientId: "1bu7zyd1m17ysb0puos8c0q7s8in",
data: {
session: {
bayeuxContextPath: "/sessions/8b98f7f3-e221-4aba-acba-710ea7530838/messaging",
id: "8b98f7f3-e221-4aba-acba-710ea7530838",
path: "/sessions/8b98f7f3-e221-4aba-acba-710ea7530838",
resourcesPath: "/sessions/8b98f7f3-e221-4aba-acba-710ea7530838/resources"
},
slaves: [{
id: "4d776160-826e-4d46-b6f1-413efd2f29b6",
userAgent: "Mozilla/5.0 (Android; Linux armv7l; rv:10.0) Gecko/20120129 Firefox/10.0 Fennec/10.0"
}]
},
id: "k"
}
[LOG] IN {
channel: "/meta/subscribe",
clientId: "1bu7zyd1m17ysb0puos8c0q7s8in",
id: "m",
subscription: "/session/end"
}
[LOG] OUT {
channel: "/meta/subscribe",
clientId: "1bu7zyd1m17ysb0puos8c0q7s8in",
id: "m",
subscription: "/session/end",
successful: true
}
[LOG] IN {
channel: "/meta/connect",
clientId: "1bu7zyd1m17ysb0puos8c0q7s8in",
connectionType: "in-process",
id: "n"
}
[LOG] IN {
channel: "/session/end",
clientId: "1bu7zyd1m17ysb0puos8c0q7s8in",
data: {
session: {
bayeuxContextPath: "/sessions/8b98f7f3-e221-4aba-acba-710ea7530838/messaging",
id: "8b98f7f3-e221-4aba-acba-710ea7530838",
path: "/sessions/8b98f7f3-e221-4aba-acba-710ea7530838",
resourcesPath: "/sessions/8b98f7f3-e221-4aba-acba-710ea7530838/resources"
}
},
id: "o"
}
[LOG] OUT {
channel: "/session/end",
clientId: "1bu7zyd1m17ysb0puos8c0q7s8in",
id: "o",
successful: true
}
[LOG] IN {
channel: "/meta/unsubscribe",
clientId: "1bu7zyd1m17ysb0puos8c0q7s8in",
id: "p",
subscription: "/session/start"
}
[LOG] OUT {
channel: "/meta/unsubscribe",
clientId: "1bu7zyd1m17ysb0puos8c0q7s8in",
id: "p",
subscription: "/session/start",
successful: true
}
[LOG] OUT {
advice: { interval: 0, reconnect: "retry", timeout: 1000 },
channel: "/meta/connect",
clientId: "1bu7zyd1m17ysb0puos8c0q7s8in",
id: "n",
successful: true
}
[LOG] OUT {
channel: "/session/end",
clientId: "1bu7zyd1m17ysb0puos8c0q7s8in",
data: {
session: {
bayeuxContextPath: "/sessions/8b98f7f3-e221-4aba-acba-710ea7530838/messaging",
id: "8b98f7f3-e221-4aba-acba-710ea7530838",
path: "/sessions/8b98f7f3-e221-4aba-acba-710ea7530838",
resourcesPath: "/sessions/8b98f7f3-e221-4aba-acba-710ea7530838/resources"
}
},
id: "o"
}
TypeError: Cannot read property '0' of undefined
at Object.trigger (/home/augustl/code/buster/faye/faye-node.js:379:15)
at Object.distributeMessage (/home/augustl/code/buster/faye/faye-node.js:663:30)
at Object._deliverMessage (/home/augustl/code/buster/faye/faye-node.js:1065:20)
at Object.<anonymous> (/home/augustl/code/buster/faye/faye-node.js:1004:12)
at /home/augustl/code/buster/faye/faye-node.js:532:39
at Object.incoming (./lib/slave.js:213:13)
at /home/augustl/code/buster/faye/faye-node.js:534:44
at Object.pipeThroughExtensions (/home/augustl/code/buster/faye/faye-node.js:537:5)
at Object.receiveMessage (/home/augustl/code/buster/faye/faye-node.js:1000:10)
at Object.receive (/home/augustl/code/buster/faye/faye-node.js:1135:20)
On Wednesday, March 7, 2012 1:04:40 AM UTC+1, James Coglan wrote: