@ericblade/mws-simple
Version:
Modern, full featured nodejs Amazon MWS API in ~150 lines of code
33 lines (32 loc) • 1.44 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.processTextRequest = exports.processXmlRequest = exports.processRequest = void 0;
const xml2js_1 = require("xml2js");
const csv_parse_1 = __importDefault(require("csv-parse"));
const processXmlRequest = (body, callback) => xml2js_1.parseString(body, (err, result) => callback(err, result));
exports.processXmlRequest = processXmlRequest;
const processTextRequest = (body, callback) => {
if (typeof body === 'string' && (body.indexOf('\t') === -1 || body.startsWith('Feed Processing Summary'))) {
callback(null, body);
}
else {
csv_parse_1.default(body, { delimiter: '\t', columns: true, relax: true }, (err, result) => callback(err || null, result));
}
};
exports.processTextRequest = processTextRequest;
const processRequest = ({ contentType, body }, callback) => {
if (contentType.includes('/xml'))
processXmlRequest(body, callback);
else if (contentType.includes('text/plain')) {
processTextRequest(body, callback);
}
else {
console.warn('**** mws-simple: unknown content-type', contentType);
callback(null, body);
}
};
exports.processRequest = processRequest;
exports.default = processRequest;