@@ -12,14 +12,14 @@ var internals = {};
1212internals . defaults = {
1313 endpoint : '/' ,
1414 host : 'localhost' ,
15- port : 0
15+ port : 0 ,
16+ data : { }
1617} ;
1718
1819
1920exports . register = function ( plugin , options , next ) {
2021
2122 var settings = Hoek . applyToDefaults ( internals . defaults , options || { } ) ;
22-
2323 var server = new plugin . hapi . Server ( settings . host , settings . port ) ;
2424 server . start ( function ( ) {
2525
@@ -32,28 +32,31 @@ exports.register = function (plugin, options, next) {
3232 handler : internals . handler ( template )
3333 } ) ;
3434
35+ plugin . route ( {
36+ method : 'GET' ,
37+ path : '/client.js' ,
38+ handler : {
39+ file : __dirname + '/../client.js'
40+ }
41+ } ) ;
42+
43+ plugin . route ( {
44+ method : 'GET' ,
45+ path : '/socket.io.min.js' ,
46+ handler : {
47+ file : __dirname + '/../socket.io.min.js'
48+ }
49+ } ) ;
50+
3551 var ws = new Ws . Server ( { server : server . listener } ) ;
3652 ws . on ( 'connection' , function ( socket ) {
3753
3854 subscribers . push ( socket ) ;
3955 socket . send ( 'Welcome' ) ;
56+ socket . on ( 'message' , internals . message ( socket ) ) ;
4057 } ) ;
4158
42- var oldStdout = process . stdout . write . bind ( process . stdout ) ;
43- process . stdout . write = function ( chunk , encoding ) {
44-
45- oldStdout ( chunk , encoding ) ;
46- transmit ( chunk ) ;
47- } ;
48-
49- var oldStderr = process . stderr . write . bind ( process . stderr ) ;
50- process . stderr . write = function ( chunk , encoding ) {
51-
52- oldStderr ( chunk , encoding ) ;
53- transmit ( chunk ) ;
54- } ;
55-
56- var transmit = function ( data ) {
59+ internals . transmit = function ( data ) {
5760
5861 for ( var i = 0 , il = subscribers . length ; i < il ; ++ i ) {
5962 try {
@@ -70,6 +73,15 @@ exports.register = function (plugin, options, next) {
7073} ;
7174
7275
76+ internals . message = function ( socket ) {
77+
78+ return function ( data ) {
79+
80+ internals . transmit ( data ) ;
81+ } ;
82+ } ;
83+
84+
7385internals . handler = function ( template ) {
7486
7587 return function ( request , reply ) {
@@ -84,6 +96,8 @@ internals.template = function (host, port) {
8496 return '<!DOCTYPE html><html lang="en"><head><title>Debug Terminal</title>' +
8597 '<meta http-equiv="Content-Language" content="en-us">' +
8698 '<meta http-equiv="Content-Type" content="text/html; charset=utf-8">' +
99+ '<script type="application/json" src="/socket.io.min.js"></script>' +
100+ '<script type="application/json" src="/client.js"></script>' +
87101 '</head><body>' +
88102 '<script language="javascript">' +
89103 'var ws = new WebSocket("ws://' + host + ':' + port + '");' +
0 commit comments