Add path style configurations for S3.

This commit is contained in:
Victrid 2022-03-04 23:24:48 +08:00
parent 5acd1551c9
commit 5add7ad645
No known key found for this signature in database
GPG Key ID: 2899B3F217892627
3 changed files with 18 additions and 1 deletions

View File

@ -11,6 +11,7 @@ export interface S3Config {
s3AccessKeyID: string;
s3SecretAccessKey: string;
s3BucketName: string;
forcePathStyle: boolean;
}
export interface DropboxConfig {

View File

@ -34,6 +34,7 @@ export const DEFAULT_S3_CONFIG = {
s3AccessKeyID: "",
s3SecretAccessKey: "",
s3BucketName: "",
forcePathStyle: false
};
export type S3ObjectType = _Object;
@ -69,6 +70,7 @@ export const getS3Client = (s3Config: S3Config) => {
const s3Client = new S3Client({
region: s3Config.s3Region,
endpoint: endpoint,
forcePathStyle: s3Config.forcePathStyle,
credentials: {
accessKeyId: s3Config.s3AccessKeyID,
secretAccessKey: s3Config.s3SecretAccessKey,

View File

@ -488,7 +488,7 @@ export class RemotelySaveSettingTab extends PluginSettingTab {
new Setting(s3Div)
.setName("s3Region")
.setDesc(
"s3Region: If you are not sure what to enter, you could try the vaule: us-east-1"
"s3Region: If you are not sure what to enter, you could try the value: us-east-1"
)
.addText((text) =>
text
@ -538,6 +538,20 @@ export class RemotelySaveSettingTab extends PluginSettingTab {
await this.plugin.saveSettings();
})
);
new Setting(s3Div)
.setName("s3 URL Style")
.setDesc("Whether to use virtual-hosted style URLs (e.g. https://bucket.s3.amazonaws.com/) or path style URLs (e.g. https://s3.amazonaws.com/bucket/) for S3 objects.")
.addDropdown((dropdown) => {
dropdown.addOption("virtualHostedStyle", "Virtual Hosted Style");
dropdown.addOption("pathStyle", "Path Style");
dropdown
.setValue(this.plugin.settings.s3.forcePathStyle ? "pathStyle": "virtualHostedStyle")
.onChange(async (val: string) => {
this.plugin.settings.s3.forcePathStyle = (val == "pathStyle");
await this.plugin.saveSettings();
});
});
new Setting(s3Div)
.setName("check connectivity")