- 在editStorageForm中初始化oss_storage_quota_value和oss_quota_unit - 删除重复的旧配额说明块,保留新的当前配额设置显示 Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
52 lines
1.8 KiB
JavaScript
52 lines
1.8 KiB
JavaScript
import { constructStack } from "@smithy/middleware-stack";
|
|
export class Client {
|
|
config;
|
|
middlewareStack = constructStack();
|
|
initConfig;
|
|
handlers;
|
|
constructor(config) {
|
|
this.config = config;
|
|
const { protocol, protocolSettings } = config;
|
|
if (protocolSettings) {
|
|
if (typeof protocol === "function") {
|
|
config.protocol = new protocol(protocolSettings);
|
|
}
|
|
}
|
|
}
|
|
send(command, optionsOrCb, cb) {
|
|
const options = typeof optionsOrCb !== "function" ? optionsOrCb : undefined;
|
|
const callback = typeof optionsOrCb === "function" ? optionsOrCb : cb;
|
|
const useHandlerCache = options === undefined && this.config.cacheMiddleware === true;
|
|
let handler;
|
|
if (useHandlerCache) {
|
|
if (!this.handlers) {
|
|
this.handlers = new WeakMap();
|
|
}
|
|
const handlers = this.handlers;
|
|
if (handlers.has(command.constructor)) {
|
|
handler = handlers.get(command.constructor);
|
|
}
|
|
else {
|
|
handler = command.resolveMiddleware(this.middlewareStack, this.config, options);
|
|
handlers.set(command.constructor, handler);
|
|
}
|
|
}
|
|
else {
|
|
delete this.handlers;
|
|
handler = command.resolveMiddleware(this.middlewareStack, this.config, options);
|
|
}
|
|
if (callback) {
|
|
handler(command)
|
|
.then((result) => callback(null, result.output), (err) => callback(err))
|
|
.catch(() => { });
|
|
}
|
|
else {
|
|
return handler(command).then((result) => result.output);
|
|
}
|
|
}
|
|
destroy() {
|
|
this.config?.requestHandler?.destroy?.();
|
|
delete this.handlers;
|
|
}
|
|
}
|