Esanders has uploaded a new change for review. ( https://gerrit.wikimedia.org/r/329714 )
Change subject: Rebaser: Separate namespace creation from /doc/edit ...................................................................... Rebaser: Separate namespace creation from /doc/edit Change-Id: Ie3b7d6af467c2c9d2d55491ee2509afcb8f92111 --- M rebaser/server.js M src/dm/ve.dm.SurfaceSynchronizer.js 2 files changed, 14 insertions(+), 8 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/VisualEditor/VisualEditor refs/changes/14/329714/1 diff --git a/rebaser/server.js b/rebaser/server.js index af4ddd6..9f24955 100644 --- a/rebaser/server.js +++ b/rebaser/server.js @@ -4,6 +4,7 @@ port = 8081, express = require( 'express' ), app = express(), + url = require( 'url' ), http = require( 'http' ).Server( app ), io = require( 'socket.io' )( http ), ve = require( '../dist/ve-rebaser.js' ); @@ -81,13 +82,7 @@ } ); app.get( '/doc/edit/:docName', function ( req, res ) { - var nsp, - docName = req.params.docName; - if ( !docNamespaces.has( docName ) ) { - nsp = io.of( '/' + docName ); - docNamespaces.set( docName, nsp ); - nsp.on( 'connection', makeConnectionHandler( docName ) ); - } + var docName = req.params.docName; res.render( 'editor', { docName: docName } ); } ); @@ -99,5 +94,16 @@ res.status( 401 ).send( 'DOM in nodejs is hard' ); } ); +io.on( 'connection', function ( socket ) { + var nsp, + docName = url.parse( socket.handshake.url, true ).query.docName; + + if ( docName && !docNamespaces.has( docName ) ) { + nsp = io.of( '/' + docName ); + docNamespaces.set( docName, nsp ); + nsp.on( 'connection', makeConnectionHandler( docName ) ); + } +} ); + http.listen( port ); console.log( 'Listening on ' + port + ' (artificial delay ' + artificialDelay + ' ms)' ); diff --git a/src/dm/ve.dm.SurfaceSynchronizer.js b/src/dm/ve.dm.SurfaceSynchronizer.js index c391a5d..b09ec31 100644 --- a/src/dm/ve.dm.SurfaceSynchronizer.js +++ b/src/dm/ve.dm.SurfaceSynchronizer.js @@ -36,7 +36,7 @@ this.applying = false; // HACK - this.socket = io( ( config.server || '' ) + '/' + this.documentId ); + this.socket = io( ( config.server || '' ) + '/' + this.documentId, { query: { docName: this.documentId } } ); this.socket.on( 'registered', this.onRegistered.bind( this ) ); this.socket.on( 'newChange', this.onNewChange.bind( this ) ); -- To view, visit https://gerrit.wikimedia.org/r/329714 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ie3b7d6af467c2c9d2d55491ee2509afcb8f92111 Gerrit-PatchSet: 1 Gerrit-Project: VisualEditor/VisualEditor Gerrit-Branch: master Gerrit-Owner: Esanders <esand...@wikimedia.org> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits