- 在editStorageForm中初始化oss_storage_quota_value和oss_quota_unit - 删除重复的旧配额说明块,保留新的当前配额设置显示 Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
42 lines
1.8 KiB
JavaScript
42 lines
1.8 KiB
JavaScript
"use strict";
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.getAwsChunkedEncodingStream = getAwsChunkedEncodingStream;
|
|
const node_stream_1 = require("node:stream");
|
|
const getAwsChunkedEncodingStream_browser_1 = require("./getAwsChunkedEncodingStream.browser");
|
|
const stream_type_check_1 = require("./stream-type-check");
|
|
function getAwsChunkedEncodingStream(stream, options) {
|
|
const readable = stream;
|
|
const readableStream = stream;
|
|
if ((0, stream_type_check_1.isReadableStream)(readableStream)) {
|
|
return (0, getAwsChunkedEncodingStream_browser_1.getAwsChunkedEncodingStream)(readableStream, options);
|
|
}
|
|
const { base64Encoder, bodyLengthChecker, checksumAlgorithmFn, checksumLocationName, streamHasher } = options;
|
|
const checksumRequired = base64Encoder !== undefined &&
|
|
checksumAlgorithmFn !== undefined &&
|
|
checksumLocationName !== undefined &&
|
|
streamHasher !== undefined;
|
|
const digest = checksumRequired ? streamHasher(checksumAlgorithmFn, readable) : undefined;
|
|
const awsChunkedEncodingStream = new node_stream_1.Readable({
|
|
read: () => { },
|
|
});
|
|
readable.on("data", (data) => {
|
|
const length = bodyLengthChecker(data) || 0;
|
|
if (length === 0) {
|
|
return;
|
|
}
|
|
awsChunkedEncodingStream.push(`${length.toString(16)}\r\n`);
|
|
awsChunkedEncodingStream.push(data);
|
|
awsChunkedEncodingStream.push("\r\n");
|
|
});
|
|
readable.on("end", async () => {
|
|
awsChunkedEncodingStream.push(`0\r\n`);
|
|
if (checksumRequired) {
|
|
const checksum = base64Encoder(await digest);
|
|
awsChunkedEncodingStream.push(`${checksumLocationName}:${checksum}\r\n`);
|
|
awsChunkedEncodingStream.push(`\r\n`);
|
|
}
|
|
awsChunkedEncodingStream.push(null);
|
|
});
|
|
return awsChunkedEncodingStream;
|
|
}
|