JasonWoof Got questions, comments, patches, etc.? Contact Jason Woofenden
puttin' it all together
[watch-my-terminal.git] / publish-my-session.coffee
1 handler = (req, res) ->
2         fs.readFile __dirname + '/index.html', (err, data) ->
3                 if err
4                         res.writeHead(500)
5                         return res.end('Error loading index.html')
6
7                 res.writeHead(200)
8                 res.end(data)
9
10 app = require('http').createServer(handler)
11 io = require('socket.io').listen(app)
12 fs = require('fs')
13 terminal = require('./terminal.coffee')
14
15 # SETTINGS
16 app.listen(9293)
17 term = terminal.new(105, 66)
18
19 io.sockets.on 'connection', (socket) ->
20         # FIXME socket.emit 'write', term.getState()
21         term.on 'sequence', (data) ->
22                 socket.emit 'write', "sequence: #{data}"
23         term.on 'text', (data) ->
24                 socket.emit 'write', data
25         socket.on 'disconnect', ->
26                 # FIXME stop term update callback
27                 console.log 'client disconnected'
28
29 process.stdin.resume()
30 process.stdin.setEncoding 'utf8'
31
32 process.stdin.on 'data', (data) ->
33         term.update data
34
35 process.stdin.on 'end', -> process.exit()