Skip to content

Commit 2025c96

Browse files
authored
fix!: switch from ULong to Long in public presigner API for better java interop (#359)
1 parent 4b793c9 commit 2025c96

File tree

3 files changed

+19
-19
lines changed

3 files changed

+19
-19
lines changed

codegen/smithy-aws-kotlin-codegen/src/main/kotlin/aws/sdk/kotlin/codegen/PresignerGenerator.kt

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -291,10 +291,10 @@ class PresignerGenerator : KotlinIntegration {
291291
presignConfigFnVisitor: PresignConfigFnVisitor,
292292
contextMap: Map<String, Any?>
293293
) {
294-
writer.withBlock("private suspend fun $requestConfigFnName(input: $requestTypeName, durationSeconds: ULong) : PresignedRequestConfig {", "}\n") {
294+
writer.withBlock("private suspend fun $requestConfigFnName(input: $requestTypeName, durationSeconds: Long) : PresignedRequestConfig {", "}\n") {
295295

296296
writer.declareSection(PresignConfigFnSection, contextMap) {
297-
write("require(durationSeconds > 0u) { \"duration must be greater than zero\" }")
297+
write("require(durationSeconds > 0) { \"duration must be greater than zero\" }")
298298
write("val httpRequestBuilder = #T().serialize(ExecutionContext.build { }, input)", serializerSymbol)
299299

300300
writer.withBlock("return PresignedRequestConfig(", ")") {
@@ -322,8 +322,8 @@ class PresignerGenerator : KotlinIntegration {
322322
write("@param durationSeconds the amount of time from signing for which the request is valid, with seconds granularity.")
323323
write("@return The [HttpRequest] that can be invoked within the specified time window.")
324324
}
325-
// FIXME ~ Replace or add additional function, swap ULong type for kotlin.time.Duration when type becomes stable
326-
writer.withBlock("suspend fun $requestTypeName.presign(config: $serviceClientTypeName.Config, durationSeconds: ULong): HttpRequest {", "}\n") {
325+
// FIXME ~ Replace or add additional function, swap Long type for kotlin.time.Duration when type becomes stable
326+
writer.withBlock("suspend fun $requestTypeName.presign(config: $serviceClientTypeName.Config, durationSeconds: Long): HttpRequest {", "}\n") {
327327
withBlock("val presignConfig = $presignConfigTypeName {", "}") {
328328
write("credentialsProvider = config.credentialsProvider")
329329
write("endpointResolver = config.endpointResolver")
@@ -340,8 +340,8 @@ class PresignerGenerator : KotlinIntegration {
340340
write("@param durationSeconds the amount of time from signing for which the request is valid, with seconds granularity.")
341341
write("@return The [HttpRequest] that can be invoked within the specified time window.")
342342
}
343-
// FIXME ~ Replace or add additional function, swap ULong type for kotlin.time.Duration when type becomes stable
344-
writer.withBlock("suspend fun $requestTypeName.presign(presignConfig: ServicePresignConfig, durationSeconds: ULong): HttpRequest {", "}\n") {
343+
// FIXME ~ Replace or add additional function, swap Long type for kotlin.time.Duration when type becomes stable
344+
writer.withBlock("suspend fun $requestTypeName.presign(presignConfig: ServicePresignConfig, durationSeconds: Long): HttpRequest {", "}\n") {
345345
write("return createPresignedRequest(presignConfig, $requestConfigFnName(this, durationSeconds))")
346346
}
347347
}

codegen/smithy-aws-kotlin-codegen/src/test/kotlin/aws/sdk/kotlin/codegen/PresignerGeneratorTest.kt

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ class PresignerGeneratorTest {
111111
* @param durationSeconds the amount of time from signing for which the request is valid, with seconds granularity.
112112
* @return The [HttpRequest] that can be invoked within the specified time window.
113113
*/
114-
suspend fun GetFooRequest.presign(presignConfig: ServicePresignConfig, durationSeconds: ULong): HttpRequest {
114+
suspend fun GetFooRequest.presign(presignConfig: ServicePresignConfig, durationSeconds: Long): HttpRequest {
115115
return createPresignedRequest(presignConfig, getFooPresignConfig(this, durationSeconds))
116116
}
117117
@@ -121,7 +121,7 @@ class PresignerGeneratorTest {
121121
* @param durationSeconds the amount of time from signing for which the request is valid, with seconds granularity.
122122
* @return The [HttpRequest] that can be invoked within the specified time window.
123123
*/
124-
suspend fun GetFooRequest.presign(config: TestClient.Config, durationSeconds: ULong): HttpRequest {
124+
suspend fun GetFooRequest.presign(config: TestClient.Config, durationSeconds: Long): HttpRequest {
125125
val presignConfig = TestPresignConfig {
126126
credentialsProvider = config.credentialsProvider
127127
endpointResolver = config.endpointResolver
@@ -130,8 +130,8 @@ class PresignerGeneratorTest {
130130
return createPresignedRequest(presignConfig, getFooPresignConfig(this, durationSeconds))
131131
}
132132
133-
private suspend fun getFooPresignConfig(input: GetFooRequest, durationSeconds: ULong) : PresignedRequestConfig {
134-
require(durationSeconds > 0u) { "duration must be greater than zero" }
133+
private suspend fun getFooPresignConfig(input: GetFooRequest, durationSeconds: Long) : PresignedRequestConfig {
134+
require(durationSeconds > 0) { "duration must be greater than zero" }
135135
val httpRequestBuilder = GetFooOperationSerializer().serialize(ExecutionContext.build { }, input)
136136
return PresignedRequestConfig(
137137
httpRequestBuilder.method,
@@ -149,7 +149,7 @@ class PresignerGeneratorTest {
149149
* @param durationSeconds the amount of time from signing for which the request is valid, with seconds granularity.
150150
* @return The [HttpRequest] that can be invoked within the specified time window.
151151
*/
152-
suspend fun PostFooRequest.presign(presignConfig: ServicePresignConfig, durationSeconds: ULong): HttpRequest {
152+
suspend fun PostFooRequest.presign(presignConfig: ServicePresignConfig, durationSeconds: Long): HttpRequest {
153153
return createPresignedRequest(presignConfig, postFooPresignConfig(this, durationSeconds))
154154
}
155155
@@ -159,7 +159,7 @@ class PresignerGeneratorTest {
159159
* @param durationSeconds the amount of time from signing for which the request is valid, with seconds granularity.
160160
* @return The [HttpRequest] that can be invoked within the specified time window.
161161
*/
162-
suspend fun PostFooRequest.presign(config: TestClient.Config, durationSeconds: ULong): HttpRequest {
162+
suspend fun PostFooRequest.presign(config: TestClient.Config, durationSeconds: Long): HttpRequest {
163163
val presignConfig = TestPresignConfig {
164164
credentialsProvider = config.credentialsProvider
165165
endpointResolver = config.endpointResolver
@@ -168,8 +168,8 @@ class PresignerGeneratorTest {
168168
return createPresignedRequest(presignConfig, postFooPresignConfig(this, durationSeconds))
169169
}
170170
171-
private suspend fun postFooPresignConfig(input: PostFooRequest, durationSeconds: ULong) : PresignedRequestConfig {
172-
require(durationSeconds > 0u) { "duration must be greater than zero" }
171+
private suspend fun postFooPresignConfig(input: PostFooRequest, durationSeconds: Long) : PresignedRequestConfig {
172+
require(durationSeconds > 0) { "duration must be greater than zero" }
173173
val httpRequestBuilder = PostFooOperationSerializer().serialize(ExecutionContext.build { }, input)
174174
return PresignedRequestConfig(
175175
httpRequestBuilder.method,
@@ -187,7 +187,7 @@ class PresignerGeneratorTest {
187187
* @param durationSeconds the amount of time from signing for which the request is valid, with seconds granularity.
188188
* @return The [HttpRequest] that can be invoked within the specified time window.
189189
*/
190-
suspend fun PutFooRequest.presign(presignConfig: ServicePresignConfig, durationSeconds: ULong): HttpRequest {
190+
suspend fun PutFooRequest.presign(presignConfig: ServicePresignConfig, durationSeconds: Long): HttpRequest {
191191
return createPresignedRequest(presignConfig, putFooPresignConfig(this, durationSeconds))
192192
}
193193
@@ -197,7 +197,7 @@ class PresignerGeneratorTest {
197197
* @param durationSeconds the amount of time from signing for which the request is valid, with seconds granularity.
198198
* @return The [HttpRequest] that can be invoked within the specified time window.
199199
*/
200-
suspend fun PutFooRequest.presign(config: TestClient.Config, durationSeconds: ULong): HttpRequest {
200+
suspend fun PutFooRequest.presign(config: TestClient.Config, durationSeconds: Long): HttpRequest {
201201
val presignConfig = TestPresignConfig {
202202
credentialsProvider = config.credentialsProvider
203203
endpointResolver = config.endpointResolver
@@ -206,8 +206,8 @@ class PresignerGeneratorTest {
206206
return createPresignedRequest(presignConfig, putFooPresignConfig(this, durationSeconds))
207207
}
208208
209-
private suspend fun putFooPresignConfig(input: PutFooRequest, durationSeconds: ULong) : PresignedRequestConfig {
210-
require(durationSeconds > 0u) { "duration must be greater than zero" }
209+
private suspend fun putFooPresignConfig(input: PutFooRequest, durationSeconds: Long) : PresignedRequestConfig {
210+
require(durationSeconds > 0) { "duration must be greater than zero" }
211211
val httpRequestBuilder = PutFooOperationSerializer().serialize(ExecutionContext.build { }, input)
212212
return PresignedRequestConfig(
213213
httpRequestBuilder.method,

services/polly/common/test/aws/sdk/kotlin/services/polly/PollyTest.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ class PollyPresignerTest {
2828
}
2929
}
3030

31-
val presignedRequest = request.presign(clientConfig, 10u)
31+
val presignedRequest = request.presign(clientConfig, 10)
3232

3333
assertEquals(HttpMethod.GET, presignedRequest.method)
3434
assertTrue(presignedRequest.headers.entries().size == 1)

0 commit comments

Comments
 (0)