Skip to content

Commit f31599f

Browse files
committed
optimize even further beyond
1 parent eada8ba commit f31599f

File tree

1 file changed

+31
-28
lines changed

1 file changed

+31
-28
lines changed

http-inject-plugin/src/main/java/io/avaje/http/inject/HttpValidatorErrorPlugin.java

Lines changed: 31 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -21,33 +21,36 @@ public void apply(BeanScopeBuilder builder) {
2121

2222
ModuleLayer bootLayer = ModuleLayer.boot();
2323

24-
if (bootLayer.findModule("io.avaje.jex").isPresent()) {
25-
builder.provideDefault(HttpService.class, JexHandler::new);
26-
return;
27-
} else if (bootLayer.findModule("io.helidon.webserver").isPresent()) {
28-
builder.provideDefault(HttpFeature.class, HelidonHandler::new);
29-
return;
30-
} else if (bootLayer.findModule("io.javalin").isPresent()) {
31-
builder.provideDefault(AvajeJavalinPlugin.class, JavalinHandler::new);
32-
return;
33-
}
34-
35-
try {
36-
builder.provideDefault(HttpService.class, JexHandler::new);
37-
return;
38-
} catch (NoClassDefFoundError e) {
39-
// not present
40-
}
41-
try {
42-
builder.provideDefault(HttpFeature.class, HelidonHandler::new);
43-
return;
44-
} catch (NoClassDefFoundError e) {
45-
// not present
46-
}
47-
try {
48-
builder.provideDefault(AvajeJavalinPlugin.class, JavalinHandler::new);
49-
} catch (NoClassDefFoundError e) {
50-
// not present
51-
}
24+
bootLayer
25+
.findModule("io.avaje.http.plugin")
26+
.ifPresentOrElse(
27+
m -> {
28+
if (bootLayer.findModule("io.avaje.jex").isPresent()) {
29+
builder.provideDefault(HttpService.class, JexHandler::new);
30+
} else if (bootLayer.findModule("io.helidon.webserver").isPresent()) {
31+
builder.provideDefault(HttpFeature.class, HelidonHandler::new);
32+
} else if (bootLayer.findModule("io.javalin").isPresent()) {
33+
builder.provideDefault(AvajeJavalinPlugin.class, JavalinHandler::new);
34+
}
35+
},
36+
() -> {
37+
try {
38+
builder.provideDefault(HttpService.class, JexHandler::new);
39+
return;
40+
} catch (NoClassDefFoundError e) {
41+
// not present
42+
}
43+
try {
44+
builder.provideDefault(HttpFeature.class, HelidonHandler::new);
45+
return;
46+
} catch (NoClassDefFoundError e) {
47+
// not present
48+
}
49+
try {
50+
builder.provideDefault(AvajeJavalinPlugin.class, JavalinHandler::new);
51+
} catch (NoClassDefFoundError e) {
52+
// not present
53+
}
54+
});
5255
}
5356
}

0 commit comments

Comments
 (0)