YUKI Hiroshi
null+****@clear*****
Wed Oct 16 13:16:55 JST 2013
YUKI Hiroshi 2013-10-16 13:16:55 +0900 (Wed, 16 Oct 2013) New Revision: 41d65ff40e72bd8df56589bc21189eae2409c769 https://github.com/droonga/express-droonga/commit/41d65ff40e72bd8df56589bc21189eae2409c769 Message: Detect handler method names for subscribe/unsubscribe and their responses correctly Modified files: lib/adapter/command.js lib/adapter/socket.io.js Modified: lib/adapter/command.js (+6 -0) =================================================================== --- lib/adapter/command.js 2013-10-16 12:59:15 +0900 (d607e83) +++ lib/adapter/command.js 2013-10-16 13:16:55 +0900 (30ad665) @@ -47,9 +47,15 @@ util.inherits(PublishSubscribe, Command); Object.defineProperty(PublishSubscribe.prototype, 'onSubscribe', { get: function() { return this._options.onSubscribe; } }); +Object.defineProperty(PublishSubscribe.prototype, 'onSubscribeResponse', { + get: function() { return this._options.onSubscribeResponse; } +}); Object.defineProperty(PublishSubscribe.prototype, 'onUnsubscribe', { get: function() { return this._options.onUnsubscribe; } }); +Object.defineProperty(PublishSubscribe.prototype, 'onUnsubscribeResponse', { + get: function() { return this._options.onUnsubscribeResponse; } +}); Object.defineProperty(PublishSubscribe.prototype, 'onNotify', { get: function() { return this._options.onNotify; } }); Modified: lib/adapter/socket.io.js (+13 -7) =================================================================== --- lib/adapter/socket.io.js 2013-10-16 12:59:15 +0900 (cea140c) +++ lib/adapter/socket.io.js 2013-10-16 13:16:55 +0900 (182f5fe) @@ -47,9 +47,13 @@ exports.register = function(application, server, params) { var responseHandler = 'onResponse'; if (command.PublishSubscribe.isInstance(commandDefinition)) { - event += '.subscribe'; - requestHandler = 'onSubscribe'; - responseHandler = 'onSubscribed'; + if (/\.subscribe$/.test(commandName)) { + requestHandler = 'onSubscribe'; + responseHandler = 'onSubscribeResponse'; + } else if (/\.unsubscribe$/.test(commandName)) { + requestHandler = 'onUnsubscribe'; + responseHandler = 'onUnsubscribeResponse'; + } } var options = { @@ -153,10 +157,12 @@ exports.register = function(application, server, params) { var handlers = {}; registeredCommands.forEach(function(registeredCommand) { if (command.PublishSubscribe.isInstance(registeredCommand.definition)) { - socket.on(registeredCommand.name + '.subscribe', - createClientMessageHandler(registeredCommand.name, socket)); - socket.on(registeredCommand.name + '.unsubscribe', - createClientMessageHandler(registeredCommand.name, socket)); + var subscribeEvent = registeredCommand.name + '.subscribe'; + var unsubscribeEvent = registeredCommand.name + '.unsubscribe'; + socket.on(subscribeEvent, + createClientMessageHandler(subscribeEvent, socket)); + socket.on(unsubscribeEvent, + createClientMessageHandler(unsubscribeEvent, socket)); var notificationEvent = registeredCommand.name + '.notification'; var notificationHandler = createNotificationHandler(notificationEvent, socket); -------------- next part -------------- HTML����������������������������... Descargar