alipay-sdk
Advanced tools
Comparing version 4.5.1 to 4.6.0
import FormStream from 'formstream'; | ||
export interface AlipayFormStreamOptions { | ||
/** min chunk size to emit data event */ | ||
minChunkSize?: number; | ||
} | ||
export declare class AlipayFormStream extends FormStream { | ||
constructor(options?: AlipayFormStreamOptions); | ||
} |
@@ -7,7 +7,13 @@ "use strict"; | ||
exports.AlipayFormStream = void 0; | ||
// import { statSync } from 'node:fs'; | ||
const formstream_1 = __importDefault(require("formstream")); | ||
class AlipayFormStream extends formstream_1.default { | ||
constructor(options) { | ||
super({ | ||
// set default minChunkSize to 2MB | ||
minChunkSize: 1024 * 1024 * 2, | ||
...options, | ||
}); | ||
} | ||
} | ||
exports.AlipayFormStream = AlipayFormStream; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWxpcGF5Rm9ybVN0cmVhbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9BbGlwYXlGb3JtU3RyZWFtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLHNDQUFzQztBQUN0Qyw0REFBb0M7QUFFcEMsTUFBYSxnQkFBaUIsU0FBUSxvQkFBVTtDQU8vQztBQVBELDRDQU9DIn0= | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWxpcGF5Rm9ybVN0cmVhbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9BbGlwYXlGb3JtU3RyZWFtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLDREQUFvQztBQU9wQyxNQUFhLGdCQUFpQixTQUFRLG9CQUFVO0lBQzlDLFlBQVksT0FBaUM7UUFDM0MsS0FBSyxDQUFDO1lBQ0osa0NBQWtDO1lBQ2xDLFlBQVksRUFBRSxJQUFJLEdBQUcsSUFBSSxHQUFHLENBQUM7WUFDN0IsR0FBRyxPQUFPO1NBQ1gsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGO0FBUkQsNENBUUMifQ== |
@@ -0,8 +1,15 @@ | ||
/// <reference types="node" /> | ||
/// <reference types="node" /> | ||
import { Readable } from 'node:stream'; | ||
export interface IFile { | ||
/** 文件名 */ | ||
name: string; | ||
/** 文件路径 */ | ||
path: string; | ||
/** 表单字段名 */ | ||
fieldName: string; | ||
/** 文件路径 */ | ||
path?: string; | ||
/** 文件流 */ | ||
stream?: Readable; | ||
/** 文件内容 */ | ||
content?: Buffer; | ||
} | ||
@@ -36,5 +43,5 @@ export interface IField { | ||
* @param fileName 文件名 | ||
* @param filePath 文件绝对路径 | ||
* @param filePath 文件绝对路径,或者文件流,又或者文件内容 Buffer | ||
*/ | ||
addFile(fieldName: string, fileName: string, filePath: string): void; | ||
addFile(fieldName: string, fileName: string, filePath: string | Readable | Buffer): void; | ||
} |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.AlipayFormData = void 0; | ||
// forked form https://github.com/joaquimserafim/is-json/blob/master/index.js#L6 | ||
function isJSONString(value) { | ||
if (typeof value !== 'string') | ||
return false; | ||
value = value.replace(/\s/g, '').replace(/\n|\r/, ''); | ||
if (/^\{(.*?)\}$/.test(value)) { | ||
return /"(.*?)":(.*?)/g.test(value); | ||
} | ||
if (/^\[(.*?)\]$/.test(value)) { | ||
return value.replace(/^\[/, '') | ||
.replace(/\]$/, '') | ||
.replace(/},{/g, '}\n{') | ||
.split(/\n/) | ||
.map((s) => { return isJSONString(s); }) | ||
.reduce(function (_prev, curr) { return !!curr; }); | ||
} | ||
return false; | ||
} | ||
class AlipayFormData { | ||
@@ -59,13 +41,40 @@ method; | ||
* @param fileName 文件名 | ||
* @param filePath 文件绝对路径 | ||
* @param filePath 文件绝对路径,或者文件流,又或者文件内容 Buffer | ||
*/ | ||
addFile(fieldName, fileName, filePath) { | ||
this.files.push({ | ||
const file = { | ||
fieldName, | ||
name: fileName, | ||
path: filePath, | ||
}); | ||
}; | ||
if (typeof filePath === 'string') { | ||
file.path = filePath; | ||
} | ||
else if (Buffer.isBuffer(filePath)) { | ||
file.content = filePath; | ||
} | ||
else { | ||
file.stream = filePath; | ||
} | ||
this.files.push(file); | ||
} | ||
} | ||
exports.AlipayFormData = AlipayFormData; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9mb3JtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLGdGQUFnRjtBQUNoRixTQUFTLFlBQVksQ0FBQyxLQUFVO0lBQzlCLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUTtRQUFFLE9BQU8sS0FBSyxDQUFDO0lBQzVDLEtBQUssR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3RELElBQUksYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQzlCLE9BQU8sZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxJQUFJLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUM5QixPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQzthQUM1QixPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQzthQUNsQixPQUFPLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQzthQUN2QixLQUFLLENBQUMsSUFBSSxDQUFDO2FBQ1gsR0FBRyxDQUFDLENBQUMsQ0FBUyxFQUFFLEVBQUUsR0FBRyxPQUFPLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUMvQyxNQUFNLENBQUMsVUFBUyxLQUFhLEVBQUUsSUFBWSxJQUFJLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFDRCxPQUFPLEtBQUssQ0FBQztBQUNmLENBQUM7QUFnQkQsTUFBYSxjQUFjO0lBQ2pCLE1BQU0sQ0FBUztJQUNoQixLQUFLLENBQVU7SUFDZixNQUFNLENBQVc7SUFFeEI7UUFDRSxJQUFJLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQztRQUNqQixJQUFJLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztRQUNoQixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztJQUN2QixDQUFDO0lBRUQsU0FBUyxLQUFLLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDbkMsUUFBUSxLQUFLLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDakMsU0FBUyxLQUFLLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFFbkM7OztPQUdHO0lBQ0gsU0FBUyxDQUFDLE1BQWM7UUFDdEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDckMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxRQUFRLENBQUMsU0FBaUIsRUFBRSxVQUFlO1FBQ3pDLElBQUksWUFBWSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7WUFDN0Isb0NBQW9DO1lBQ3BDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDdkUsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUM7UUFDM0QsQ0FBQztJQUNILENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILE9BQU8sQ0FBQyxTQUFpQixFQUFFLFFBQWdCLEVBQUUsUUFBZ0I7UUFDM0QsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUM7WUFDZCxTQUFTO1lBQ1QsSUFBSSxFQUFFLFFBQVE7WUFDZCxJQUFJLEVBQUUsUUFBUTtTQUNmLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRjtBQWxERCx3Q0FrREMifQ== | ||
// forked form https://github.com/joaquimserafim/is-json/blob/master/index.js#L6 | ||
function isJSONString(value) { | ||
if (typeof value !== 'string') | ||
return false; | ||
value = value.replace(/\s/g, '').replace(/\n|\r/, ''); | ||
if (/^\{(.*?)\}$/.test(value)) { | ||
return /"(.*?)":(.*?)/g.test(value); | ||
} | ||
if (/^\[(.*?)\]$/.test(value)) { | ||
return value.replace(/^\[/, '') | ||
.replace(/\]$/, '') | ||
.replace(/},{/g, '}\n{') | ||
.split(/\n/) | ||
.map((s) => { return isJSONString(s); }) | ||
.reduce(function (_prev, curr) { return !!curr; }); | ||
} | ||
return false; | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9mb3JtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQW9CQSxNQUFhLGNBQWM7SUFDakIsTUFBTSxDQUFTO0lBQ2hCLEtBQUssQ0FBVTtJQUNmLE1BQU0sQ0FBVztJQUV4QjtRQUNFLElBQUksQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ2hCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxTQUFTLEtBQUssT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUNuQyxRQUFRLEtBQUssT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNqQyxTQUFTLEtBQUssT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUVuQzs7O09BR0c7SUFDSCxTQUFTLENBQUMsTUFBYztRQUN0QixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNyQyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILFFBQVEsQ0FBQyxTQUFpQixFQUFFLFVBQWU7UUFDekMsSUFBSSxZQUFZLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztZQUM3QixvQ0FBb0M7WUFDcEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN2RSxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQztRQUMzRCxDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsT0FBTyxDQUFDLFNBQWlCLEVBQUUsUUFBZ0IsRUFBRSxRQUFvQztRQUMvRSxNQUFNLElBQUksR0FBVTtZQUNsQixTQUFTO1lBQ1QsSUFBSSxFQUFFLFFBQVE7U0FDZixDQUFDO1FBQ0YsSUFBSSxPQUFPLFFBQVEsS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUNqQyxJQUFJLENBQUMsSUFBSSxHQUFHLFFBQVEsQ0FBQztRQUN2QixDQUFDO2FBQU0sSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7WUFDckMsSUFBSSxDQUFDLE9BQU8sR0FBRyxRQUFRLENBQUM7UUFDMUIsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsTUFBTSxHQUFHLFFBQVEsQ0FBQztRQUN6QixDQUFDO1FBQ0QsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDeEIsQ0FBQztDQUNGO0FBekRELHdDQXlEQztBQUVELGdGQUFnRjtBQUNoRixTQUFTLFlBQVksQ0FBQyxLQUFVO0lBQzlCLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUTtRQUFFLE9BQU8sS0FBSyxDQUFDO0lBQzVDLEtBQUssR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3RELElBQUksYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQzlCLE9BQU8sZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxJQUFJLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUM5QixPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQzthQUM1QixPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQzthQUNsQixPQUFPLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQzthQUN2QixLQUFLLENBQUMsSUFBSSxDQUFDO2FBQ1gsR0FBRyxDQUFDLENBQUMsQ0FBUyxFQUFFLEVBQUUsR0FBRyxPQUFPLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUMvQyxNQUFNLENBQUMsVUFBUyxLQUFhLEVBQUUsSUFBWSxJQUFJLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFDRCxPQUFPLEtBQUssQ0FBQztBQUNmLENBQUMifQ== |
@@ -117,3 +117,3 @@ "use strict"; | ||
.update(signString, 'utf8').sign(config.privateKey, 'base64'); | ||
debug('algorithm: %s, signString: %o, sign: %o', algorithm, signString, sign); | ||
debug('algorithm: %s, signString: %o, sign: %o', algorithm, signString, decamelizeParams.sign); | ||
return decamelizeParams; | ||
@@ -175,2 +175,2 @@ } | ||
/* c8 ignore stop */ | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLHlDQUFxQztBQUNyQyw2Q0FBcUQ7QUFHckQscUNBQXlDO0FBQ3pDLG9FQUEyQztBQUMzQywwREFBaUM7QUFHakMsTUFBTSxLQUFLLEdBQUcsSUFBQSxvQkFBUSxFQUFDLGlCQUFpQixDQUFDLENBQUM7QUFFN0IsUUFBQSx3QkFBd0IsR0FBRztJQUN0QyxHQUFHLEVBQUUsVUFBVTtJQUNmLElBQUksRUFBRSxZQUFZO0NBQ25CLENBQUM7QUFFRiwwRkFBMEY7QUFDMUYsMERBQTBEO0FBQzFELHNIQUFzSDtBQUN0SCxNQUFNLEVBQUUsR0FBRyxtQkFBUSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLGtDQUFrQyxDQUFDLENBQUM7QUFFdEUsU0FBUyxRQUFRLENBQUMsTUFBYztJQUM5QixPQUFPO1FBQ0wsRUFBRSxFQUFFLEVBQUU7UUFDTixHQUFHLEVBQUUsbUJBQVEsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUM7S0FDdkMsQ0FBQztBQUNKLENBQUM7QUFFRCxTQUFnQixjQUFjLENBQUMsU0FBaUIsRUFBRSxNQUFjO0lBQzlELE1BQU0sRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3JDLE1BQU0sYUFBYSxHQUFHLG1CQUFRLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM5RSxPQUFPLGFBQWEsQ0FBQztBQUN2QixDQUFDO0FBSkQsd0NBSUM7QUFFRCxTQUFnQixjQUFjLENBQUMsYUFBcUIsRUFBRSxNQUFjO0lBQ2xFLE1BQU0sRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsUUFB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 | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLHlDQUFxQztBQUNyQyw2Q0FBcUQ7QUFHckQscUNBQXlDO0FBQ3pDLG9FQUEyQztBQUMzQywwREFBaUM7QUFHakMsTUFBTSxLQUFLLEdBQUcsSUFBQSxvQkFBUSxFQUFDLGlCQUFpQixDQUFDLENBQUM7QUFFN0IsUUFBQSx3QkFBd0IsR0FBRztJQUN0QyxHQUFHLEVBQUUsVUFBVTtJQUNmLElBQUksRUFBRSxZQUFZO0NBQ25CLENBQUM7QUFFRiwwRkFBMEY7QUFDMUYsMERBQTBEO0FBQzFELHNIQUFzSDtBQUN0SCxNQUFNLEVBQUUsR0FBRyxtQkFBUSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLGtDQUFrQyxDQUFDLENBQUM7QUFFdEUsU0FBUyxRQUFRLENBQUMsTUFBYztJQUM5QixPQUFPO1FBQ0wsRUFBRSxFQUFFLEVBQUU7UUFDTixHQUFHLEVBQUUsbUJBQVEsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUM7S0FDdkMsQ0FBQztBQUNKLENBQUM7QUFFRCxTQUFnQixjQUFjLENBQUMsU0FBaUIsRUFBRSxNQUFjO0lBQzlELE1BQU0sRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3JDLE1BQU0sYUFBYSxHQUFHLG1CQUFRLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM5RSxPQUFPLGFBQWEsQ0FBQztBQUN2QixDQUFDO0FBSkQsd0NBSUM7QUFFRCxTQUFnQixjQUFjLENBQUMsYUFBcUIsRUFBRSxNQUFjO0lBQ2xFLE1BQU0sRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsUUFB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 |
import FormStream from 'formstream'; | ||
export interface AlipayFormStreamOptions { | ||
/** min chunk size to emit data event */ | ||
minChunkSize?: number; | ||
} | ||
export declare class AlipayFormStream extends FormStream { | ||
constructor(options?: AlipayFormStreamOptions); | ||
} |
@@ -1,5 +0,11 @@ | ||
// import { statSync } from 'node:fs'; | ||
import FormStream from 'formstream'; | ||
export class AlipayFormStream extends FormStream { | ||
constructor(options) { | ||
super({ | ||
// set default minChunkSize to 2MB | ||
minChunkSize: 1024 * 1024 * 2, | ||
...options, | ||
}); | ||
} | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWxpcGF5Rm9ybVN0cmVhbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9BbGlwYXlGb3JtU3RyZWFtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHNDQUFzQztBQUN0QyxPQUFPLFVBQVUsTUFBTSxZQUFZLENBQUM7QUFFcEMsTUFBTSxPQUFPLGdCQUFpQixTQUFRLFVBQVU7Q0FPL0MifQ== | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWxpcGF5Rm9ybVN0cmVhbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9BbGlwYXlGb3JtU3RyZWFtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sVUFBVSxNQUFNLFlBQVksQ0FBQztBQU9wQyxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsVUFBVTtJQUM5QyxZQUFZLE9BQWlDO1FBQzNDLEtBQUssQ0FBQztZQUNKLGtDQUFrQztZQUNsQyxZQUFZLEVBQUUsSUFBSSxHQUFHLElBQUksR0FBRyxDQUFDO1lBQzdCLEdBQUcsT0FBTztTQUNYLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRiJ9 |
@@ -0,8 +1,15 @@ | ||
/// <reference types="node" resolution-mode="require"/> | ||
/// <reference types="node" resolution-mode="require"/> | ||
import { Readable } from 'node:stream'; | ||
export interface IFile { | ||
/** 文件名 */ | ||
name: string; | ||
/** 文件路径 */ | ||
path: string; | ||
/** 表单字段名 */ | ||
fieldName: string; | ||
/** 文件路径 */ | ||
path?: string; | ||
/** 文件流 */ | ||
stream?: Readable; | ||
/** 文件内容 */ | ||
content?: Buffer; | ||
} | ||
@@ -36,5 +43,5 @@ export interface IField { | ||
* @param fileName 文件名 | ||
* @param filePath 文件绝对路径 | ||
* @param filePath 文件绝对路径,或者文件流,又或者文件内容 Buffer | ||
*/ | ||
addFile(fieldName: string, fileName: string, filePath: string): void; | ||
addFile(fieldName: string, fileName: string, filePath: string | Readable | Buffer): void; | ||
} |
@@ -1,19 +0,1 @@ | ||
// forked form https://github.com/joaquimserafim/is-json/blob/master/index.js#L6 | ||
function isJSONString(value) { | ||
if (typeof value !== 'string') | ||
return false; | ||
value = value.replace(/\s/g, '').replace(/\n|\r/, ''); | ||
if (/^\{(.*?)\}$/.test(value)) { | ||
return /"(.*?)":(.*?)/g.test(value); | ||
} | ||
if (/^\[(.*?)\]$/.test(value)) { | ||
return value.replace(/^\[/, '') | ||
.replace(/\]$/, '') | ||
.replace(/},{/g, '}\n{') | ||
.split(/\n/) | ||
.map((s) => { return isJSONString(s); }) | ||
.reduce(function (_prev, curr) { return !!curr; }); | ||
} | ||
return false; | ||
} | ||
export class AlipayFormData { | ||
@@ -56,12 +38,39 @@ method; | ||
* @param fileName 文件名 | ||
* @param filePath 文件绝对路径 | ||
* @param filePath 文件绝对路径,或者文件流,又或者文件内容 Buffer | ||
*/ | ||
addFile(fieldName, fileName, filePath) { | ||
this.files.push({ | ||
const file = { | ||
fieldName, | ||
name: fileName, | ||
path: filePath, | ||
}); | ||
}; | ||
if (typeof filePath === 'string') { | ||
file.path = filePath; | ||
} | ||
else if (Buffer.isBuffer(filePath)) { | ||
file.content = filePath; | ||
} | ||
else { | ||
file.stream = filePath; | ||
} | ||
this.files.push(file); | ||
} | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9mb3JtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGdGQUFnRjtBQUNoRixTQUFTLFlBQVksQ0FBQyxLQUFVO0lBQzlCLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUTtRQUFFLE9BQU8sS0FBSyxDQUFDO0lBQzVDLEtBQUssR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3RELElBQUksYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQzlCLE9BQU8sZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxJQUFJLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUM5QixPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQzthQUM1QixPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQzthQUNsQixPQUFPLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQzthQUN2QixLQUFLLENBQUMsSUFBSSxDQUFDO2FBQ1gsR0FBRyxDQUFDLENBQUMsQ0FBUyxFQUFFLEVBQUUsR0FBRyxPQUFPLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUMvQyxNQUFNLENBQUMsVUFBUyxLQUFhLEVBQUUsSUFBWSxJQUFJLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFDRCxPQUFPLEtBQUssQ0FBQztBQUNmLENBQUM7QUFnQkQsTUFBTSxPQUFPLGNBQWM7SUFDakIsTUFBTSxDQUFTO0lBQ2hCLEtBQUssQ0FBVTtJQUNmLE1BQU0sQ0FBVztJQUV4QjtRQUNFLElBQUksQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ2hCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxTQUFTLEtBQUssT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUNuQyxRQUFRLEtBQUssT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNqQyxTQUFTLEtBQUssT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUVuQzs7O09BR0c7SUFDSCxTQUFTLENBQUMsTUFBYztRQUN0QixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNyQyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILFFBQVEsQ0FBQyxTQUFpQixFQUFFLFVBQWU7UUFDekMsSUFBSSxZQUFZLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztZQUM3QixvQ0FBb0M7WUFDcEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN2RSxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQztRQUMzRCxDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsT0FBTyxDQUFDLFNBQWlCLEVBQUUsUUFBZ0IsRUFBRSxRQUFnQjtRQUMzRCxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQztZQUNkLFNBQVM7WUFDVCxJQUFJLEVBQUUsUUFBUTtZQUNkLElBQUksRUFBRSxRQUFRO1NBQ2YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGIn0= | ||
// forked form https://github.com/joaquimserafim/is-json/blob/master/index.js#L6 | ||
function isJSONString(value) { | ||
if (typeof value !== 'string') | ||
return false; | ||
value = value.replace(/\s/g, '').replace(/\n|\r/, ''); | ||
if (/^\{(.*?)\}$/.test(value)) { | ||
return /"(.*?)":(.*?)/g.test(value); | ||
} | ||
if (/^\[(.*?)\]$/.test(value)) { | ||
return value.replace(/^\[/, '') | ||
.replace(/\]$/, '') | ||
.replace(/},{/g, '}\n{') | ||
.split(/\n/) | ||
.map((s) => { return isJSONString(s); }) | ||
.reduce(function (_prev, curr) { return !!curr; }); | ||
} | ||
return false; | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9mb3JtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQW9CQSxNQUFNLE9BQU8sY0FBYztJQUNqQixNQUFNLENBQVM7SUFDaEIsS0FBSyxDQUFVO0lBQ2YsTUFBTSxDQUFXO0lBRXhCO1FBQ0UsSUFBSSxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7UUFDaEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7SUFDdkIsQ0FBQztJQUVELFNBQVMsS0FBSyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQ25DLFFBQVEsS0FBSyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2pDLFNBQVMsS0FBSyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBRW5DOzs7T0FHRztJQUNILFNBQVMsQ0FBQyxNQUFjO1FBQ3RCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3JDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsUUFBUSxDQUFDLFNBQWlCLEVBQUUsVUFBZTtRQUN6QyxJQUFJLFlBQVksQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO1lBQzdCLG9DQUFvQztZQUNwQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZFLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDO1FBQzNELENBQUM7SUFDSCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxPQUFPLENBQUMsU0FBaUIsRUFBRSxRQUFnQixFQUFFLFFBQW9DO1FBQy9FLE1BQU0sSUFBSSxHQUFVO1lBQ2xCLFNBQVM7WUFDVCxJQUFJLEVBQUUsUUFBUTtTQUNmLENBQUM7UUFDRixJQUFJLE9BQU8sUUFBUSxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQ2pDLElBQUksQ0FBQyxJQUFJLEdBQUcsUUFBUSxDQUFDO1FBQ3ZCLENBQUM7YUFBTSxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztZQUNyQyxJQUFJLENBQUMsT0FBTyxHQUFHLFFBQVEsQ0FBQztRQUMxQixDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxNQUFNLEdBQUcsUUFBUSxDQUFDO1FBQ3pCLENBQUM7UUFDRCxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN4QixDQUFDO0NBQ0Y7QUFFRCxnRkFBZ0Y7QUFDaEYsU0FBUyxZQUFZLENBQUMsS0FBVTtJQUM5QixJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVE7UUFBRSxPQUFPLEtBQUssQ0FBQztJQUM1QyxLQUFLLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQztJQUN0RCxJQUFJLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUM5QixPQUFPLGdCQUFnQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQsSUFBSSxhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDOUIsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUM7YUFDNUIsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUM7YUFDbEIsT0FBTyxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUM7YUFDdkIsS0FBSyxDQUFDLElBQUksQ0FBQzthQUNYLEdBQUcsQ0FBQyxDQUFDLENBQVMsRUFBRSxFQUFFLEdBQUcsT0FBTyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDL0MsTUFBTSxDQUFDLFVBQVMsS0FBYSxFQUFFLElBQVksSUFBSSxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN0RSxDQUFDO0lBQ0QsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDIn0= |
@@ -107,3 +107,3 @@ import { debuglog } from 'node:util'; | ||
.update(signString, 'utf8').sign(config.privateKey, 'base64'); | ||
debug('algorithm: %s, signString: %o, sign: %o', algorithm, signString, sign); | ||
debug('algorithm: %s, signString: %o, sign: %o', algorithm, signString, decamelizeParams.sign); | ||
return decamelizeParams; | ||
@@ -161,2 +161,2 @@ } | ||
/* c8 ignore stop */ | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDckMsT0FBTyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFHckQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUN6QyxPQUFPLGFBQWEsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLFFBQVEsTUFBTSxXQUFXLENBQUM7QUFHakMsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLGlCQUFpQixDQUFDLENBQUM7QUFFMUMsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUc7SUFDdEMsR0FBRyxFQUFFLFVBQVU7SUFDZixJQUFJLEVBQUUsWUFBWTtDQUNuQixDQUFDO0FBRUYsMEZBQTBGO0FBQzFGLDBEQUEwRDtBQUMxRCxzSEFBc0g7QUFDdEgsTUFBTSxFQUFFLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLGtDQUFrQyxDQUFDLENBQUM7QUFFdEUsU0FBUyxRQUFRLENBQUMsTUFBYztJQUM5QixPQUFPO1FBQ0wsRUFBRSxFQUFFLEVBQUU7UUFDTixHQUFHLEVBQUUsUUFBUSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztLQUN2QyxDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSxjQUFjLENBQUMsU0FBaUIsRUFBRSxNQUFjO0lBQzlELE1BQU0sRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3JDLE1BQU0sYUFBYSxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFB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 | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDckMsT0FBTyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFHckQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUN6QyxPQUFPLGFBQWEsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLFFBQVEsTUFBTSxXQUFXLENBQUM7QUFHakMsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLGlCQUFpQixDQUFDLENBQUM7QUFFMUMsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUc7SUFDdEMsR0FBRyxFQUFFLFVBQVU7SUFDZixJQUFJLEVBQUUsWUFBWTtDQUNuQixDQUFDO0FBRUYsMEZBQTBGO0FBQzFGLDBEQUEwRDtBQUMxRCxzSEFBc0g7QUFDdEgsTUFBTSxFQUFFLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLGtDQUFrQyxDQUFDLENBQUM7QUFFdEUsU0FBUyxRQUFRLENBQUMsTUFBYztJQUM5QixPQUFPO1FBQ0wsRUFBRSxFQUFFLEVBQUU7UUFDTixHQUFHLEVBQUUsUUFBUSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztLQUN2QyxDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSxjQUFjLENBQUMsU0FBaUIsRUFBRSxNQUFjO0lBQzlELE1BQU0sRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3JDLE1BQU0sYUFBYSxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFB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 |
{ | ||
"name": "alipay-sdk", | ||
"version": "4.5.1", | ||
"version": "4.6.0", | ||
"engines": { | ||
@@ -27,3 +27,3 @@ "node": ">=18.0.0" | ||
"crypto-js": "^4.2.0", | ||
"formstream": "^1.4.0", | ||
"formstream": "^1.5.0", | ||
"snakecase-keys": "^8.0.0", | ||
@@ -30,0 +30,0 @@ "sse-decoder": "^1.0.0", |
@@ -169,2 +169,54 @@ # Alipay OpenAPI SDK | ||
#### 上传文件流 | ||
```ts | ||
import fs from 'node:fs'; | ||
import { AlipayFormData } from 'alipay-sdk'; | ||
const form = new AlipayFormData(); | ||
form.addFile('file_content', '图片.jpg', fs.createReadStream('/path/to/test-file')); | ||
const uploadResult = await alipaySdk.curl<{ | ||
file_id: string; | ||
}>('POST', '/v3/alipay/open/file/upload', { | ||
form, | ||
body: { | ||
biz_code: 'openpt_appstore', | ||
}, | ||
}); | ||
console.log(uploadResult); | ||
// { | ||
// data: { file_id: 'A*7Cr9T6IAAC4AAAAAAAAAAAAAATcnAA' }, | ||
// responseHttpStatus: 200, | ||
// traceId: '06033316171731110716358764348' | ||
// } | ||
``` | ||
#### 上传文件内容 | ||
```ts | ||
import fs from 'node:fs'; | ||
import { AlipayFormData } from 'alipay-sdk'; | ||
const form = new AlipayFormData(); | ||
form.addFile('file_content', '图片.jpg', fs.readFileSync('/path/to/test-file')); | ||
const uploadResult = await alipaySdk.curl<{ | ||
file_id: string; | ||
}>('POST', '/v3/alipay/open/file/upload', { | ||
form, | ||
body: { | ||
biz_code: 'openpt_appstore', | ||
}, | ||
}); | ||
console.log(uploadResult); | ||
// { | ||
// data: { file_id: 'A*7Cr9T6IAAC4AAAAAAAAAAAAAATcnAA' }, | ||
// responseHttpStatus: 200, | ||
// traceId: '06033316171731110716358764348' | ||
// } | ||
``` | ||
### pageExecute 示例代码 | ||
@@ -171,0 +223,0 @@ |
@@ -374,3 +374,9 @@ import { debuglog } from 'node:util'; | ||
for (const item of options.form.files) { | ||
form.file(item.fieldName, item.path, item.name); | ||
if (item.path) { | ||
form.file(item.fieldName, item.path, item.name); | ||
} else if (item.content) { | ||
form.buffer(item.fieldName, item.content, item.name); | ||
} else if (item.stream) { | ||
form.stream(item.fieldName, item.stream, item.name); | ||
} | ||
} | ||
@@ -508,7 +514,6 @@ } else if (options.form instanceof AlipayFormStream) { | ||
// 文件上传 | ||
async #multipartExec(method: string, options: IRequestOption = {}): Promise<AlipaySdkCommonResult> { | ||
async #multipartExec(method: string, options: IRequestOption): Promise<AlipaySdkCommonResult> { | ||
const config = this.config; | ||
let signParams = {} as Record<string, string>; | ||
let formData = {} as { [key: string]: string | object }; | ||
const formFiles = {} as { [key: string]: string }; | ||
let formData = {} as Record<string, string>; | ||
options.formData!.getFields().forEach(field => { | ||
@@ -526,2 +531,7 @@ // formData 的字段类型应为 string。(兼容 null) | ||
formData = snakeCaseKeys(formData); | ||
const formStream = new AlipayFormStream(); | ||
for (const k in formData) { | ||
formStream.field(k, formData[k]); | ||
} | ||
options.formData!.getFiles().forEach(file => { | ||
@@ -531,4 +541,21 @@ // 文件名需要转换驼峰为下划线 | ||
// 单独处理文件类型 | ||
formFiles[fileKey] = file.path; | ||
if (file.path) { | ||
formStream.file(fileKey, file.path, file.name); | ||
} else if (file.stream) { | ||
formStream.stream(fileKey, file.stream, file.name); | ||
} else if (file.content) { | ||
formStream.buffer(fileKey, file.content, file.name); | ||
} | ||
}); | ||
const requestOptions: RequestOptions = { | ||
method: 'POST', | ||
dataType: 'text', | ||
timeout: config.timeout, | ||
headers: { | ||
'user-agent': this.version, | ||
accept: 'application/json', | ||
...formStream.headers(), | ||
}, | ||
content: new Readable().wrap(formStream as any), | ||
}; | ||
// 计算签名 | ||
@@ -543,9 +570,3 @@ const signData = sign(method, signParams, config); | ||
try { | ||
httpResponse = await urllib.request(url, { | ||
timeout: config.timeout, | ||
headers: { 'user-agent': this.version }, | ||
files: formFiles, | ||
data: formData, | ||
dataType: 'text', | ||
}); | ||
httpResponse = await urllib.request(url, requestOptions); | ||
} catch (err: any) { | ||
@@ -552,0 +573,0 @@ debug('HttpClient Request error: %s', err); |
@@ -1,11 +0,16 @@ | ||
// import { statSync } from 'node:fs'; | ||
import FormStream from 'formstream'; | ||
export interface AlipayFormStreamOptions { | ||
/** min chunk size to emit data event */ | ||
minChunkSize?: number; | ||
} | ||
export class AlipayFormStream extends FormStream { | ||
// 覆盖 file 方法,由于 OpenAPI 文件上传需要强制设置 content-length,所以需要增加一次同步文件 io 来实现此功能 | ||
// https://github.com/node-modules/formstream/blob/master/lib/formstream.js#L119 | ||
// file(name: string, filepath: string, filename: string) { | ||
// const size = statSync(filepath).size; | ||
// return super.file(name, filepath, filename, size); | ||
// } | ||
constructor(options?: AlipayFormStreamOptions) { | ||
super({ | ||
// set default minChunkSize to 2MB | ||
minChunkSize: 1024 * 1024 * 2, | ||
...options, | ||
}); | ||
} | ||
} |
@@ -1,27 +0,14 @@ | ||
// forked form https://github.com/joaquimserafim/is-json/blob/master/index.js#L6 | ||
function isJSONString(value: any) { | ||
if (typeof value !== 'string') return false; | ||
value = value.replace(/\s/g, '').replace(/\n|\r/, ''); | ||
if (/^\{(.*?)\}$/.test(value)) { | ||
return /"(.*?)":(.*?)/g.test(value); | ||
} | ||
import { Readable } from 'node:stream'; | ||
if (/^\[(.*?)\]$/.test(value)) { | ||
return value.replace(/^\[/, '') | ||
.replace(/\]$/, '') | ||
.replace(/},{/g, '}\n{') | ||
.split(/\n/) | ||
.map((s: string) => { return isJSONString(s); }) | ||
.reduce(function(_prev: string, curr: string) { return !!curr; }); | ||
} | ||
return false; | ||
} | ||
export interface IFile { | ||
/** 文件名 */ | ||
name: string; | ||
/** 文件路径 */ | ||
path: string; | ||
/** 表单字段名 */ | ||
fieldName: string; | ||
/** 文件路径 */ | ||
path?: string; | ||
/** 文件流 */ | ||
stream?: Readable; | ||
/** 文件内容 */ | ||
content?: Buffer; | ||
} | ||
@@ -75,11 +62,37 @@ | ||
* @param fileName 文件名 | ||
* @param filePath 文件绝对路径 | ||
* @param filePath 文件绝对路径,或者文件流,又或者文件内容 Buffer | ||
*/ | ||
addFile(fieldName: string, fileName: string, filePath: string) { | ||
this.files.push({ | ||
addFile(fieldName: string, fileName: string, filePath: string | Readable | Buffer) { | ||
const file: IFile = { | ||
fieldName, | ||
name: fileName, | ||
path: filePath, | ||
}); | ||
}; | ||
if (typeof filePath === 'string') { | ||
file.path = filePath; | ||
} else if (Buffer.isBuffer(filePath)) { | ||
file.content = filePath; | ||
} else { | ||
file.stream = filePath; | ||
} | ||
this.files.push(file); | ||
} | ||
} | ||
// forked form https://github.com/joaquimserafim/is-json/blob/master/index.js#L6 | ||
function isJSONString(value: any) { | ||
if (typeof value !== 'string') return false; | ||
value = value.replace(/\s/g, '').replace(/\n|\r/, ''); | ||
if (/^\{(.*?)\}$/.test(value)) { | ||
return /"(.*?)":(.*?)/g.test(value); | ||
} | ||
if (/^\[(.*?)\]$/.test(value)) { | ||
return value.replace(/^\[/, '') | ||
.replace(/\]$/, '') | ||
.replace(/},{/g, '}\n{') | ||
.split(/\n/) | ||
.map((s: string) => { return isJSONString(s); }) | ||
.reduce(function(_prev: string, curr: string) { return !!curr; }); | ||
} | ||
return false; | ||
} |
@@ -124,3 +124,3 @@ import { debuglog } from 'node:util'; | ||
.update(signString, 'utf8').sign(config.privateKey, 'base64'); | ||
debug('algorithm: %s, signString: %o, sign: %o', algorithm, signString, sign); | ||
debug('algorithm: %s, signString: %o, sign: %o', algorithm, signString, decamelizeParams.sign); | ||
return decamelizeParams; | ||
@@ -127,0 +127,0 @@ } |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
286920
4262
548
Updatedformstream@^1.5.0