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