Skip to content

Commit eada8ba

Browse files
committed
module-check
1 parent f182940 commit eada8ba

File tree

2 files changed

+25
-6
lines changed

2 files changed

+25
-6
lines changed

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

Lines changed: 23 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,21 +14,40 @@
1414
"io.avaje.http.api.AvajeJavalinPlugin",
1515
"io.avaje.jex.Routing.HttpService",
1616
})
17-
public final class HttpValidatorHandler implements InjectPlugin {
17+
public final class HttpValidatorErrorPlugin implements InjectPlugin {
1818

1919
@Override
2020
public void apply(BeanScopeBuilder builder) {
21-
try {
21+
22+
ModuleLayer bootLayer = ModuleLayer.boot();
23+
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()) {
2228
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;
2338
} catch (NoClassDefFoundError e) {
39+
// not present
2440
}
2541
try {
26-
builder.provideDefault(AvajeJavalinPlugin.class, JavalinHandler::new);
42+
builder.provideDefault(HttpFeature.class, HelidonHandler::new);
43+
return;
2744
} catch (NoClassDefFoundError e) {
45+
// not present
2846
}
2947
try {
30-
builder.provideDefault(HttpService.class, JexHandler::new);
48+
builder.provideDefault(AvajeJavalinPlugin.class, JavalinHandler::new);
3149
} catch (NoClassDefFoundError e) {
50+
// not present
3251
}
3352
}
3453
}
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import io.avaje.http.inject.DefaultResolverProvider;
2-
import io.avaje.http.inject.HttpValidatorHandler;
2+
import io.avaje.http.inject.HttpValidatorErrorPlugin;
33

44
module io.avaje.http.plugin {
55

@@ -8,5 +8,5 @@
88
requires static io.avaje.jex;
99
requires static io.javalin;
1010
requires static io.helidon.webserver;
11-
provides io.avaje.inject.spi.InjectExtension with DefaultResolverProvider, HttpValidatorHandler;
11+
provides io.avaje.inject.spi.InjectExtension with DefaultResolverProvider, HttpValidatorErrorPlugin;
1212
}

0 commit comments

Comments
 (0)