null+****@clear*****
null+****@clear*****
2012年 7月 19日 (木) 17:39:30 JST
SHIMODA Hiroshi 2012-07-19 17:39:30 +0900 (Thu, 19 Jul 2012) New Revision: 15f12e2bc3d51b2b98e1a253a404295407667164 https://github.com/groonga/gcs/commit/15f12e2bc3d51b2b98e1a253a404295407667164 Log: Generate response body of CreateDomain action by xmlbuilder Modified files: lib/api/2011-02-01/configuration.js lib/xmlbuilder.js Modified: lib/api/2011-02-01/configuration.js (+43 -32) =================================================================== --- lib/api/2011-02-01/configuration.js 2012-07-19 17:30:39 +0900 (b7506cb) +++ lib/api/2011-02-01/configuration.js 2012-07-19 17:39:30 +0900 (6ef01a8) @@ -19,7 +19,8 @@ function createCommonErrorResponse(errorCode, message) { .element('Message').text(message).up() .up() .up() - .element('RequestID').up(); + .element('RequestID').up() + .up(); return doc.toString(); } @@ -32,40 +33,50 @@ function getBaseDomain(domain) { } function createDomainStatus(options) { - return '<DomainStatus>' + - '<Created>' + (options.created || 'false') + '</Created>' + - '<Deleted>' + (options.deleted || 'false') + '</Deleted>' + - '<DocService>' + - '<Endpoint>' + (options.documentsEndpoint || '') + '</Endpoint>' + - '</DocService>' + - '<DomainId>' + options.domainId + '/' + options.domainName + - '</DomainId>' + - '<DomainName>' + options.domainName + '</DomainName>' + - '<NumSearchableDocs>' + (options.searchableDocumentsCount || 0) + - '</NumSearchableDocs>' + - '<RequiresIndexDocuments>' + - (options.requiresIndexDocuments || 'false') + - '</RequiresIndexDocuments>' + - '<SearchInstanceCount>' + (options.searchInstanceCount || 0) + - '</SearchInstanceCount>' + - '<SearchPartitionCount>' + (options.searchPartitionCount || 0) + - '</SearchPartitionCount>' + - '<SearchService>' + - '<Endpoint>' + (options.searchEndpoint || '') + '</Endpoint>' + - '</SearchService>' + - '</DomainStatus>'; + var domainStatus = new xmlbuilder.XMLFragment(null, 'DomainStatus'); + domainStatus + .element('Created').text(options.created || 'false').up() + .element('Deleted').text(options.deleted || 'false').up() + .element('DocService') + .element('Endpoint').text(options.documentsEndpoint || '').up() + .up() + .element('DomainId') + .text(options.domainId + '/' + options.domainName) + .up() + .element('DomainName').text(options.domainName).up() + .element('NumSearchableDocs') + .text(options.searchableDocumentsCount || 0) + .up() + .element('RequiresIndexDocuments') + .text(options.requiresIndexDocuments || 'false') + .up() + .element('SearchInstanceCount') + .text(options.searchInstanceCount || 0) + .up() + .element('SearchPartitionCount') + .text(options.searchPartitionCount || 0) + .up() + .element('SearchService') + .element('Endpoint').text(options.documentsEndpoint || '').up() + .up() + .up(); + return domainStatus; } function createCreateDomainResponse(options) { - return '<?xml version="1.0"?>\n' + - '<CreateDomainResponse xmlns="' + XMLNS + '">' + - '<CreateDomainResult>' + - createDomainStatus(options) + - '</CreateDomainResult>' + - '<ResponseMetadata>' + - '<RequestId>' + (options.requestId || '') + '</RequestId>' + - '</ResponseMetadata>' + - '</CreateDomainResponse>'; + var doc = xmlbuilder.create(); + + doc.begin('CreateDomainResponse', {version: '1.0'}) + .attribute({ xmlns: XMLNS }) + .element('CreateDomainResult') + .addFragment(createDomainStatus(options)) + .up() + .element('ResponseMetadata') + .element('RequestId').text((options.requestId || '')).up() + .up() + .up(); + + return doc.toString(); } handlers.CreateDomain = function(context, request, response) { Modified: lib/xmlbuilder.js (+1 -0) =================================================================== --- lib/xmlbuilder.js 2012-07-19 17:30:39 +0900 (206381f) +++ lib/xmlbuilder.js 2012-07-19 17:39:30 +0900 (51d7ce4) @@ -1,6 +1,7 @@ module.exports = require('xmlbuilder'); module.exports.XMLFragment = require('xmlbuilder/lib/XMLFragment'); module.exports.XMLFragment.prototype.addFragment = function(fragment) { + fragment.parent = this; this.children.push(fragment); return this; }; -------------- next part -------------- HTML$B$NE:IU%U%!%$%k$rJ]4I$7$^$7$?(B... Download