[Groonga-commit] groonga/gcs [master] Configuration APIs should also accept POST request

Back to archive index

Yoji SHIDARA null+****@clear*****
Wed Oct 10 12:56:20 JST 2012


Yoji SHIDARA	2012-10-10 12:56:20 +0900 (Wed, 10 Oct 2012)

  New Revision: 3a91dd75787062fca4499944cfa52b7ea4605808
  https://github.com/groonga/gcs/commit/3a91dd75787062fca4499944cfa52b7ea4605808

  Log:
    Configuration APIs should also accept POST request
    
    According to
    http://docs.amazonwebservices.com/cloudsearch/latest/developerguide/ConfigAPI.html
    "AWS Query requests are HTTP or HTTPS requests submitted via HTTP GET or
    POST with a Query parameter named Action."

  Modified files:
    lib/api/2011-02-01/index.js
    test/api-configuration.test.js

  Modified: lib/api/2011-02-01/index.js (+2 -0)
===================================================================
--- lib/api/2011-02-01/index.js    2012-10-04 18:12:29 +0900 (37dbe50)
+++ lib/api/2011-02-01/index.js    2012-10-10 12:56:20 +0900 (5c841ad)
@@ -9,6 +9,8 @@ exports.search = require('./search');
 exports.registerHandlers = function(application, database, config) {
   application.get('/',
                   exports.configuration.createHandler(database, config));
+  application.post('/',
+                   exports.configuration.createHandler(database, config));
 
   application.post('/' + exports.version + '/documents/batch',
                    exports.batch.createHandler(database));

  Modified: test/api-configuration.test.js (+24 -0)
===================================================================
--- test/api-configuration.test.js    2012-10-04 18:12:29 +0900 (d714b54)
+++ test/api-configuration.test.js    2012-10-10 12:56:20 +0900 (19d6903)
@@ -156,6 +156,30 @@ suite('Configuration API', function() {
         });
     });
 
+    test('Action=DescribeDomains (all domains, via POST)', function(done) {
+      var domain;
+      utils
+        .post('/?DomainName=domain3&Action=CreateDomain&Version=2011-02-01')
+        .post('/?DomainName=domain1&Action=CreateDomain&Version=2011-02-01')
+        .post('/?DomainName=domain2&Action=CreateDomain&Version=2011-02-01')
+        .post('/?Action=DescribeDomains&Version=2011-02-01')
+        .next(function(response) {
+          response = xmlResponses.toParsedResponse(response);
+          var expectedDomains = ['domain1', 'domain2', 'domain3'];
+          assert.deepEqual(response.pattern,
+                           { statusCode: 200,
+                             body: xmlResponses.DescribeDomainsResponse(expectedDomains) });
+
+          var actualDomains = getActualDescribedDomains(response);
+          assert.deepEqual(actualDomains, expectedDomains);
+
+          done();
+        })
+        .error(function(error) {
+          done(error);
+        });
+    });
+
     test('Action=DescribeDomains (specified domains)', function(done) {
       utils
         .get('/?DomainName=domain3&Action=CreateDomain&Version=2011-02-01')
-------------- next part --------------
HTML����������������������������...
Download 



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