[Groonga-commit] groonga/express-kotoumi [master] Accept custom command name for REST API and response event type for Socket.IO API

Back to archive index

YUKI Hiroshi null+****@clear*****
Wed Feb 6 17:26:13 JST 2013


YUKI Hiroshi	2013-02-06 17:26:13 +0900 (Wed, 06 Feb 2013)

  New Revision: 9e2b3614f3ecb39553cd67eb94ddc38fc935a9e6
  https://github.com/groonga/express-kotoumi/commit/9e2b3614f3ecb39553cd67eb94ddc38fc935a9e6

  Log:
    Accept custom command name for REST API and response event type for Socket.IO API

  Modified files:
    lib/frontend/rest-adaptor.js
    lib/frontend/socket.io-adaptor.js

  Modified: lib/frontend/rest-adaptor.js (+1 -1)
===================================================================
--- lib/frontend/rest-adaptor.js    2013-02-06 16:32:33 +0900 (741e3f1)
+++ lib/frontend/rest-adaptor.js    2013-02-06 17:26:13 +0900 (a196f2f)
@@ -77,7 +77,7 @@ exports.register = function(application, params) {
     var method = getRegisterationMethod(definition.method);
     var handler = createHandler({
       connection:      connection,
-      command:         command,
+      command:         definition.command || command,
       requestBuilder:  definition.requestBuilder,
       responseBuilder: definition.responseBuilder
     });

  Modified: lib/frontend/socket.io-adaptor.js (+9 -7)
===================================================================
--- lib/frontend/socket.io-adaptor.js    2013-02-06 16:32:33 +0900 (b5b6e5e)
+++ lib/frontend/socket.io-adaptor.js    2013-02-06 17:26:13 +0900 (b0785e0)
@@ -39,20 +39,22 @@ exports.register = function(application, server, params) {
 
   function createBackendMessageHandler(socket) {
     return (function(envelope) {
-      var data;
+      var event = envelope.type;
 
+      var data;
       var resultTypeMatch = envelope.type.match(/^(.+)\.test$/);
       if (resultTypeMatch && unifiedCommandSet[resultTypeMatch[1]]) {
-        var responseBuilder = unifiedCommandSet[resultTypeMatch[1]]
-                                .responseBuilder;
-        if (responseBuilder)
-          data = responseBuilder(envelope);
+        var command = unifiedCommandSet[resultTypeMatch[1]];
+        if (command.responseBuilder)
+          data = command.responseBuilder(envelope);
+        if (command.responseEvent)
+          event = command.responseEvent;
       }
 
       if (!data)
-        data = sanitizeBackendMessage(envelope)
+        data = sanitizeBackendMessage(envelope);
 
-      socket.emit(envelope.type, data);
+      socket.emit(event, data);
     });
   }
 
-------------- next part --------------
HTML����������������������������...
Download 



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