diff options
Diffstat (limited to 'src/services/drive/s3.ts')
| -rw-r--r-- | src/services/drive/s3.ts | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/services/drive/s3.ts b/src/services/drive/s3.ts index 2cbeef106d..abe3c166a5 100644 --- a/src/services/drive/s3.ts +++ b/src/services/drive/s3.ts @@ -1,8 +1,12 @@ import * as S3 from 'aws-sdk/clients/s3'; import { Meta } from '../../models/entities/meta'; -import { httpsAgent, httpAgent } from '../../misc/fetch'; +import { getAgentByUrl } from '../../misc/fetch'; export function getS3(meta: Meta) { + const u = meta.objectStorageEndpoint != null + ? `${meta.objectStorageUseSSL ? 'https://' : 'http://'}${meta.objectStorageEndpoint}` + : `${meta.objectStorageUseSSL ? 'https://' : 'http://'}example.net`; + return new S3({ endpoint: meta.objectStorageEndpoint || undefined, accessKeyId: meta.objectStorageAccessKey!, @@ -11,7 +15,7 @@ export function getS3(meta: Meta) { sslEnabled: meta.objectStorageUseSSL, s3ForcePathStyle: !!meta.objectStorageEndpoint, httpOptions: { - agent: meta.objectStorageUseSSL ? httpsAgent : httpAgent + agent: getAgentByUrl(new URL(u), !meta.objectStorageUseProxy) } }); } |