Skip to content
This repository has been archived by the owner on Nov 12, 2019. It is now read-only.

Commit

Permalink
rewrite api
Browse files Browse the repository at this point in the history
  • Loading branch information
dominictarr committed Nov 6, 2012
1 parent bb32625 commit 26977ad
Show file tree
Hide file tree
Showing 5 changed files with 42 additions and 19 deletions.
23 changes: 22 additions & 1 deletion browser.js
Expand Up @@ -7,7 +7,28 @@ TODO
more sophisticated reloading,
pass in a package and a semver range...
**/
module.exports = function (stream, _version) {
module.exports = function (handler) {
return function (stream) {
var args = [].slice.call(arguments)
header(stream).writeHead()
stream.on('header', function (meta) {

if(!version)
version = meta.version
if(meta.version !== version) {
stream.emit('reload', meta.version, version)
stream.end()

return window.location.reload(true)
}

handler.apply(this, args)
})
}

}

var wrap = function (stream, _version) {
version = _version || version
stream = header(stream)
stream.on('header', function (meta) {
Expand Down
10 changes: 4 additions & 6 deletions examples/client.js
Expand Up @@ -11,16 +11,14 @@ function log(data) {
}

var r =
reconnect(function (stream) {
reloader(stream)
.on('reload', function () {
log('RELOAD')
})
reconnect(reloader(function (stream) {
console.log('STREAM', stream)

setInterval(function () {
stream.write('ping:'+Date.now())
}, 1000)

stream.on('data', log)
}).connect('/shoe')
})).connect('/shoe')

document.body.appendChild(r.widget())
5 changes: 2 additions & 3 deletions examples/server.js
Expand Up @@ -9,13 +9,12 @@ var pingpong = require('ping-pong')

var PORT = 3000

shoe(function (stream) {
shoe(reloader(function (stream) {
console.log('connection')
//add a header, that will tell the client to restart...
reloader(stream)
// stream.pipe(pingpong()).pipe(stream)
stream.pipe(stream)
}).install(
})).install(
http.createServer(
ecstatic(join(__dirname, 'static'))
).listen(PORT, function () {
Expand Down
6 changes: 3 additions & 3 deletions examples/static/bundle.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

17 changes: 11 additions & 6 deletions index.js
Expand Up @@ -3,10 +3,15 @@ var header = require('header-stream')

//server side...
var version = Date.now()
module.exports = function (stream, _version) {
version = _version || version
stream = header(stream)
stream.setHeader('version', version)
//maybe expand this to have more options, like setting a range...
return stream


module.exports = function (handler, _version) {
return function (stream) {

version = _version || version
stream = header(stream)
stream.writeHead({version: version})
//maybe expand this to have more options, like setting a range...
handler.apply(this, arguments)
}
}

0 comments on commit 26977ad

Please sign in to comment.