Skip to content

Commit 35a4acc

Browse files
committed
Do not create new ApplicationProtocol every time
1 parent 9e87234 commit 35a4acc

File tree

3 files changed

+10
-7
lines changed

3 files changed

+10
-7
lines changed

smithy-typescript-codegen/src/main/java/software/amazon/smithy/typescript/codegen/integration/HttpBindingProtocolGenerator.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,8 @@ public abstract class HttpBindingProtocolGenerator implements ProtocolGenerator
8686
private static final Logger LOGGER = Logger.getLogger(HttpBindingProtocolGenerator.class.getName());
8787
private static final Set<Character> REGEX_CHARS = SetUtils.of('.', '*', '+', '?', '^', '$', '{', '}', '(',
8888
')', '|', '[', ']', '\\');
89-
89+
private static final ApplicationProtocol APPLICATION_PROTOCOL
90+
= ApplicationProtocol.createDefaultHttpApplicationProtocol();
9091
private final Set<Shape> serializingDocumentShapes = new TreeSet<>();
9192
private final Set<Shape> deserializingDocumentShapes = new TreeSet<>();
9293
private final Set<StructureShape> serializingErrorShapes = new TreeSet<>();
@@ -108,8 +109,8 @@ public HttpBindingProtocolGenerator(boolean isErrorCodeInBody) {
108109
}
109110

110111
@Override
111-
public ApplicationProtocol getApplicationProtocol() {
112-
return ApplicationProtocol.createDefaultHttpApplicationProtocol();
112+
public final ApplicationProtocol getApplicationProtocol() {
113+
return APPLICATION_PROTOCOL;
113114
}
114115

115116
/**

smithy-typescript-codegen/src/main/java/software/amazon/smithy/typescript/codegen/integration/HttpRpcProtocolGenerator.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,8 @@
3939
public abstract class HttpRpcProtocolGenerator implements ProtocolGenerator {
4040

4141
public static final Logger LOGGER = Logger.getLogger(HttpRpcProtocolGenerator.class.getName());
42+
private static final ApplicationProtocol APPLICATION_PROTOCOL
43+
= ApplicationProtocol.createDefaultHttpApplicationProtocol();
4244

4345
private final Set<Shape> serializingDocumentShapes = new TreeSet<>();
4446
private final Set<Shape> deserializingDocumentShapes = new TreeSet<>();
@@ -56,8 +58,8 @@ public HttpRpcProtocolGenerator(boolean isErrorCodeInBody) {
5658
}
5759

5860
@Override
59-
public ApplicationProtocol getApplicationProtocol() {
60-
return ApplicationProtocol.createDefaultHttpApplicationProtocol();
61+
public final ApplicationProtocol getApplicationProtocol() {
62+
return APPLICATION_PROTOCOL;
6163
}
6264

6365
/**

smithy-typescript-codegen/src/main/java/software/amazon/smithy/typescript/codegen/integration/ProtocolGenerator.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -76,9 +76,9 @@ default String getName() {
7676
}
7777

7878
/**
79-
* Creates an application protocol for the generator.
79+
* Gets the application protocol for the generator.
8080
*
81-
* @return Returns the created application protocol.
81+
* @return Returns the application protocol.
8282
*/
8383
ApplicationProtocol getApplicationProtocol();
8484

0 commit comments

Comments
 (0)