[Groonga-commit] droonga/express-droonga at 41d65ff [master] Detect handler method names for subscribe/unsubscribe and their responses correctly

Back to archive index

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 



More information about the Groonga-commit mailing list
Back to archive index