Skip to content

Commit 5e1a805

Browse files
authored
fix(spring): correctly parse and handle mirror node endpoint protocol (#111)
This PR addresses a bug in HieroAutoConfiguration.java where the default port for the Mirror Node was being incorrectly assigned due to identity comparison (==) on the protocol string. - Replaced identity comparison with .equalsIgnoreCase() for robust protocol detection. - Refactored port defaulting logic to explicitly handle http (80) and https (443). - Implemented a fail-fast mechanism that throws an IllegalArgumentException for unsupported protocols. - Removed redundant url.getPort() == -1 checks. Signed-off-by: Aamir377300 <belalaamirkhan@gmail.com>
1 parent e1737ed commit 5e1a805

1 file changed

Lines changed: 8 additions & 6 deletions

File tree

hiero-enterprise-spring/src/main/java/org/hiero/spring/implementation/HieroAutoConfiguration.java

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -138,12 +138,14 @@ MirrorNodeClient mirrorNodeClient(final HieroContext hieroContext) {
138138
final String mirrorNodeEndpointProtocol = url.getProtocol();
139139
final String mirrorNodeEndpointHost = url.getHost();
140140
final int mirrorNodeEndpointPort;
141-
if (mirrorNodeEndpointProtocol == "https" && url.getPort() == -1) {
142-
mirrorNodeEndpointPort = 443;
143-
} else if (mirrorNodeEndpointProtocol == "http" && url.getPort() == -1) {
144-
mirrorNodeEndpointPort = 80;
145-
} else if (url.getPort() == -1) {
146-
mirrorNodeEndpointPort = 443;
141+
if (url.getPort() == -1) {
142+
if ("http".equalsIgnoreCase(mirrorNodeEndpointProtocol)) {
143+
mirrorNodeEndpointPort = 80;
144+
} else if ("https".equalsIgnoreCase(mirrorNodeEndpointProtocol)) {
145+
mirrorNodeEndpointPort = 443;
146+
} else {
147+
throw new IllegalArgumentException("Unsupported protocol: " + mirrorNodeEndpointProtocol);
148+
}
147149
} else {
148150
mirrorNodeEndpointPort = url.getPort();
149151
}

0 commit comments

Comments
 (0)