UNPKG

@ericblade/mws-simple

Version:

Modern, full featured nodejs Amazon MWS API in ~150 lines of code

33 lines (32 loc) 1.44 kB
"use strict"; 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;