Skip to content

Commit d9a8a1b

Browse files
committed
Remove request/response builders
The builders just delegated to the mutable request/response anyway and added unnecessary overhead. Mutable messages are now fluent, have chaining methods like toModifiable and toUnmodifiable, so it obviates the need for builders entirely.
1 parent 03962e2 commit d9a8a1b

50 files changed

Lines changed: 583 additions & 840 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

aws/aws-sigv4/src/jmh/java/software/amazon/smithy/java/aws/client/auth/scheme/sigv4/SigV4SignerTrials.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -128,12 +128,12 @@ private static HttpRequest parsePostRequest(
128128
queryParameters.forEach(queryBuilder::add);
129129
uriString += "?" + queryBuilder;
130130
}
131-
return HttpRequest.builder()
132-
.method("POST")
133-
.httpVersion(HttpVersion.HTTP_1_1)
134-
.uri(SmithyUri.of(uriString))
135-
.headers(httpHeaders)
136-
.body(body != null ? DataStream.ofBytes(body.getBytes(StandardCharsets.UTF_8)) : null)
137-
.build();
131+
return HttpRequest.create()
132+
.setMethod("POST")
133+
.setHttpVersion(HttpVersion.HTTP_1_1)
134+
.setUri(SmithyUri.of(uriString))
135+
.setHeaders(httpHeaders)
136+
.setBody(body != null ? DataStream.ofBytes(body.getBytes(StandardCharsets.UTF_8)) : null)
137+
.toUnmodifiable();
138138
}
139139
}

aws/aws-sigv4/src/test/java/software/amazon/smithy/java/aws/client/auth/scheme/sigv4/SigV4TestRunner.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -147,13 +147,13 @@ private static HttpRequest parseRequest(String fileName) {
147147
}
148148
}
149149

150-
return HttpRequest.builder()
151-
.method(method)
152-
.httpVersion(HttpVersion.HTTP_1_1)
153-
.uri(URI.create("http://" + Objects.requireNonNull(hostValue) + path))
154-
.headers(HttpHeaders.of(headers))
155-
.body(body != null ? DataStream.ofBytes(body.toString().getBytes()) : null)
156-
.build();
150+
return HttpRequest.create()
151+
.setMethod(method)
152+
.setHttpVersion(HttpVersion.HTTP_1_1)
153+
.setUri(URI.create("http://" + Objects.requireNonNull(hostValue) + path))
154+
.setHeaders(HttpHeaders.of(headers))
155+
.setBody(body != null ? DataStream.ofBytes(body.toString().getBytes()) : null)
156+
.toUnmodifiable();
157157
}
158158

159159
Result createResult(

aws/client/aws-client-awsjson/src/main/java/software/amazon/smithy/java/aws/client/awsjson/AwsJsonProtocol.java

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -78,22 +78,22 @@ public <I extends SerializableStruct, O extends SerializableStruct> HttpRequest
7878
SmithyUri endpoint
7979
) {
8080
var target = service.getName() + "." + operation.schema().id().getName();
81-
var builder = HttpRequest.builder();
82-
builder.method("POST");
83-
builder.uri(endpoint);
81+
var builder = HttpRequest.create();
82+
builder.setMethod("POST");
83+
builder.setUri(endpoint);
8484
if (operation.inputEventBuilderSupplier() != null) {
8585
// Event streaming
8686
var encoderFactory = getEventEncoderFactory(operation);
8787
var body = RpcEventStreamsUtil.bodyForEventStreaming(encoderFactory, input);
88-
builder.withAddedHeader("x-amz-target", target)
89-
.withAddedHeader("content-type", "application/vnd.amazon.eventstream")
90-
.withAddedHeader("accept", contentType())
91-
.body(body);
88+
builder.addHeader("x-amz-target", target)
89+
.addHeader("content-type", "application/vnd.amazon.eventstream")
90+
.addHeader("accept", contentType())
91+
.setBody(body);
9292
} else {
93-
builder.withAddedHeader("x-amz-target", target)
94-
.withAddedHeader("content-type", contentType());
93+
builder.addHeader("x-amz-target", target)
94+
.addHeader("content-type", contentType());
9595
}
96-
return builder.body(DataStream.ofByteBuffer(codec.serialize(input), contentType())).build();
96+
return builder.setBody(DataStream.ofByteBuffer(codec.serialize(input), contentType()));
9797
}
9898

9999
@Override

aws/client/aws-client-awsquery/src/main/java/software/amazon/smithy/java/aws/client/awsquery/AwsQueryClientProtocol.java

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -80,12 +80,11 @@ public <I extends SerializableStruct, O extends SerializableStruct> HttpRequest
8080

8181
ByteBuffer body = serializer.finish();
8282

83-
return HttpRequest.builder()
84-
.method("POST")
85-
.uri(endpoint)
86-
.headers(CONTENT_TYPE_HEADERS)
87-
.body(DataStream.ofByteBuffer(body, CONTENT_TYPE))
88-
.build();
83+
return HttpRequest.create()
84+
.setMethod("POST")
85+
.setUri(endpoint)
86+
.setHeaders(CONTENT_TYPE_HEADERS)
87+
.setBody(DataStream.ofByteBuffer(body, CONTENT_TYPE));
8988
}
9089

9190
@Override

aws/client/aws-client-http/src/test/java/software/amazon/smithy/java/aws/client/http/AmzSdkRequestPluginTest.java

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -74,15 +74,15 @@ public Builder toBuilder() {
7474
.build();
7575

7676
mockQueue.enqueue(
77-
HttpResponse.builder()
78-
.statusCode(429)
79-
.body(DataStream.ofString("{\"__type\":\"InvalidSprocketId\"}"))
80-
.build());
77+
HttpResponse.create()
78+
.setStatusCode(429)
79+
.setBody(DataStream.ofString("{\"__type\":\"InvalidSprocketId\"}"))
80+
.toUnmodifiable());
8181
mockQueue.enqueue(
82-
HttpResponse.builder()
83-
.statusCode(200)
84-
.body(DataStream.ofString("{\"id\":\"1\"}"))
85-
.build());
82+
HttpResponse.create()
83+
.setStatusCode(200)
84+
.setBody(DataStream.ofString("{\"id\":\"1\"}"))
85+
.toUnmodifiable());
8686

8787
client.call("CreateSprocket");
8888

aws/client/aws-client-http/src/test/java/software/amazon/smithy/java/aws/client/http/RecursionDetectionPluginTest.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,10 @@ private HttpHeaders getSentHeaders(ClientPlugin recursionDetectionPlugin) {
4848

4949
private HttpHeaders getSentHeaders(ClientPlugin recursionDetectionPlugin, ClientInterceptor interceptor) {
5050
var mockQueue = new MockQueue();
51-
mockQueue.enqueue(HttpResponse.builder().statusCode(200).body(DataStream.ofString("{\"id\":\"1\"}")).build());
51+
mockQueue.enqueue(HttpResponse.create()
52+
.setStatusCode(200)
53+
.setBody(DataStream.ofString("{\"id\":\"1\"}"))
54+
.toUnmodifiable());
5255
var mock = MockPlugin.builder().addQueue(mockQueue).build();
5356

5457
var builder = DynamicClient.builder()

aws/server/aws-server-restjson/src/main/java/software/amazon/smithy/java/aws/server/restjson/AwsRestJson1Protocol.java

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -138,12 +138,11 @@ public CompletableFuture<Void> deserializeInput(Job job) {
138138
.inputShapeBuilder(inputShapeBuilder)
139139
.pathLabelValues(labelValues)
140140
.request(
141-
HttpRequest.builder()
142-
.headers(headers)
143-
.uri(httpJob.request().uri())
144-
.method(httpJob.request().method())
145-
.body(job.request().getDataStream())
146-
.build())
141+
HttpRequest.create()
142+
.setHeaders(headers)
143+
.setUri(httpJob.request().uri())
144+
.setMethod(httpJob.request().method())
145+
.setBody(job.request().getDataStream()))
147146
.payloadCodec(codec)
148147
.payloadMediaType("application/json");
149148

client/client-core/src/test/java/software/amazon/smithy/java/client/core/ClientPipelineTest.java

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -137,15 +137,15 @@ public void canRetryRequests() {
137137

138138
var mockQueue = new MockQueue()
139139
.enqueue(
140-
HttpResponse.builder()
141-
.statusCode(429)
142-
.body(DataStream.ofString("{\"__type\":\"InvalidSprocketId\"}"))
143-
.build())
140+
HttpResponse.create()
141+
.setStatusCode(429)
142+
.setBody(DataStream.ofString("{\"__type\":\"InvalidSprocketId\"}"))
143+
.toUnmodifiable())
144144
.enqueue(
145-
HttpResponse.builder()
146-
.statusCode(200)
147-
.body(DataStream.ofString("{\"id\":\"1\"}"))
148-
.build());
145+
HttpResponse.create()
146+
.setStatusCode(200)
147+
.setBody(DataStream.ofString("{\"id\":\"1\"}"))
148+
.toUnmodifiable());
149149
var mock = MockPlugin.builder().addQueue(mockQueue).build();
150150

151151
var client = DynamicClient.builder()
@@ -228,10 +228,10 @@ public void endpointAuthSchemeOverridesAugmentSignerProperties() {
228228
.build();
229229

230230
var mockQueue = new MockQueue()
231-
.enqueue(HttpResponse.builder()
232-
.statusCode(200)
233-
.body(DataStream.ofString("{\"id\":\"1\"}"))
234-
.build());
231+
.enqueue(HttpResponse.create()
232+
.setStatusCode(200)
233+
.setBody(DataStream.ofString("{\"id\":\"1\"}"))
234+
.toUnmodifiable());
235235
var mock = MockPlugin.builder().addQueue(mockQueue).build();
236236

237237
var client = DynamicClient.builder()

client/client-core/src/test/java/software/amazon/smithy/java/client/core/ClientTest.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -207,7 +207,7 @@ public void correctlyWrapsTransportExceptions() throws URISyntaxException {
207207
@Test
208208
public void allowsInterceptorRequestOverrides() throws URISyntaxException {
209209
var queue = new MockQueue();
210-
queue.enqueue(HttpResponse.builder().statusCode(200).build());
210+
queue.enqueue(HttpResponse.create().setStatusCode(200).toUnmodifiable());
211211
var id = "abc";
212212

213213
DynamicClient c = DynamicClient.builder()
@@ -239,7 +239,7 @@ public void readBeforeExecution(InputHook<?, ?> hook) {
239239
@Test
240240
public void requestOverridesPerCallTakePrecedence() throws URISyntaxException {
241241
var queue = new MockQueue();
242-
queue.enqueue(HttpResponse.builder().statusCode(200).build());
242+
queue.enqueue(HttpResponse.create().setStatusCode(200).toUnmodifiable());
243243
var id = "abc";
244244

245245
DynamicClient c = DynamicClient.builder()
@@ -281,7 +281,7 @@ public void readBeforeExecution(InputHook<?, ?> hook) {
281281
@Test
282282
public void setsCustomEndpoint() {
283283
var queue = new MockQueue();
284-
queue.enqueue(HttpResponse.builder().statusCode(200).build());
284+
queue.enqueue(HttpResponse.create().setStatusCode(200).toUnmodifiable());
285285

286286
DynamicClient c = DynamicClient.builder()
287287
.model(MODEL)

client/client-core/src/test/java/software/amazon/smithy/java/client/core/plugins/InjectIdempotencyTokenPluginTest.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -82,11 +82,11 @@ private String callAndGetToken(String operation, Document input) {
8282
var mock = MockPlugin.builder()
8383
.addMatcher(
8484
request -> new MockedResult.Response(
85-
HttpResponse.builder()
86-
.statusCode(200)
87-
.headers(HttpHeaders.of(Map.of("content-type", List.of("application/json"))))
88-
.body(DataStream.ofString("{}"))
89-
.build()))
85+
HttpResponse.create()
86+
.setStatusCode(200)
87+
.setHeaders(HttpHeaders.of(Map.of("content-type", List.of("application/json"))))
88+
.setBody(DataStream.ofString("{}"))
89+
.toUnmodifiable()))
9090
.build();
9191

9292
var client = DynamicClient.builder()

0 commit comments

Comments
 (0)