%PDF- %PDF-
Direktori : /home/opti/workflow/node_modules/aws-sdk/lib/protocol/ |
Current File : /home/opti/workflow/node_modules/aws-sdk/lib/protocol/rest_json.js |
var util = require('../util'); var Rest = require('./rest'); var Json = require('./json'); var JsonBuilder = require('../json/builder'); function populateBody(req) { var builder = new JsonBuilder(); var input = req.service.api.operations[req.operation].input; if (input.payload) { var params = {}; var payloadShape = input.members[input.payload]; params = req.params[input.payload]; if (params === undefined) return; if (payloadShape.type === 'structure') { req.httpRequest.body = builder.build(params, payloadShape); } else { // non-JSON payload req.httpRequest.body = params; } } else { req.httpRequest.body = builder.build(req.params, input); } } function buildRequest(req) { Rest.buildRequest(req); populateBody(req); } function extractError(resp) { Json.extractError(resp); } function extractData(resp) { Rest.extractData(resp); var req = resp.request; var rules = req.service.api.operations[req.operation].output || {}; if (rules.payload) { var payloadMember = rules.members[rules.payload]; if (payloadMember.isStreaming) { resp.data[rules.payload] = resp.httpResponse.body; } else if (payloadMember.type === 'structure') { Json.extractData(resp); } else { resp.data[rules.payload] = resp.httpResponse.body.toString(); } } else { var data = resp.data; Json.extractData(resp); resp.data = util.merge(data, resp.data); } } module.exports = { buildRequest: buildRequest, extractError: extractError, extractData: extractData };