From 1c5ef179efc7263b5ef6bfc13453e2a5ea35fbee Mon Sep 17 00:00:00 2001 From: Denis Kazantsev <51866756+denis14082000@users.noreply.github.com> Date: Thu, 14 Jul 2022 16:02:02 +0300 Subject: [PATCH] Added property endpoint (#76) --- .../ru/touchin/s3/storage/configurations/S3Configuration.kt | 3 +++ .../kotlin/ru/touchin/s3/storage/properties/S3Properties.kt | 1 + 2 files changed, 4 insertions(+) diff --git a/s3-storage/src/main/kotlin/ru/touchin/s3/storage/configurations/S3Configuration.kt b/s3-storage/src/main/kotlin/ru/touchin/s3/storage/configurations/S3Configuration.kt index d48cd24..1918ecd 100644 --- a/s3-storage/src/main/kotlin/ru/touchin/s3/storage/configurations/S3Configuration.kt +++ b/s3-storage/src/main/kotlin/ru/touchin/s3/storage/configurations/S3Configuration.kt @@ -8,6 +8,7 @@ import software.amazon.awssdk.auth.credentials.AwsBasicCredentials import software.amazon.awssdk.regions.Region import software.amazon.awssdk.services.s3.S3Client import software.amazon.awssdk.services.s3.presigner.S3Presigner +import java.net.URI @ComponentScan("ru.touchin.s3.storage") @ConfigurationPropertiesScan("ru.touchin.s3.storage") @@ -20,6 +21,7 @@ class S3Configuration(private val s3Properties: S3Properties) { return S3Client.builder() .region(region) .credentialsProvider { getCredentialsProvider() } + .apply { if (s3Properties.endpoint != null) endpointOverride(URI.create(s3Properties.endpoint)) } .build() } @@ -28,6 +30,7 @@ class S3Configuration(private val s3Properties: S3Properties) { return S3Presigner.builder() .region(region) .credentialsProvider { getCredentialsProvider() } + .apply { if (s3Properties.endpoint != null) endpointOverride(URI.create(s3Properties.endpoint)) } .build() } diff --git a/s3-storage/src/main/kotlin/ru/touchin/s3/storage/properties/S3Properties.kt b/s3-storage/src/main/kotlin/ru/touchin/s3/storage/properties/S3Properties.kt index 7766e0c..5592421 100644 --- a/s3-storage/src/main/kotlin/ru/touchin/s3/storage/properties/S3Properties.kt +++ b/s3-storage/src/main/kotlin/ru/touchin/s3/storage/properties/S3Properties.kt @@ -11,5 +11,6 @@ data class S3Properties( val region: String, val bucket: String, val folder: String, + val endpoint: String?, )