Skip to content

Commit b550072

Browse files
authored
#661 Fix Helidon request scope - ServerRequest / ServerResponse are injected into controller (#663)
The issue is in RequestScopeTypes where the fully qualified name of Helidon request and response types have moved into a different package.
1 parent db8284f commit b550072

File tree

4 files changed

+66
-3
lines changed

4 files changed

+66
-3
lines changed

http-generator-core/src/main/java/io/avaje/http/generator/core/RequestScopeTypes.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,13 @@ class RequestScopeTypes {
66

77
private static final String JAVALIN_CONTEXT = "io.javalin.http.Context";
88
private static final String JEX_CONTEXT = "io.avaje.jex.http.Context";
9-
private static final String HELIDON_REQ = "io.helidon.webserver.ServerRequest";
10-
private static final String HELIDON_RES = "io.helidon.webserver.ServerResponse";
9+
private static final String HELIDON0_REQ = "io.helidon.webserver.ServerRequest";
10+
private static final String HELIDON0_RES = "io.helidon.webserver.ServerResponse";
11+
private static final String HELIDON1_REQ = "io.helidon.webserver.http.ServerRequest";
12+
private static final String HELIDON1_RES = "io.helidon.webserver.http.ServerResponse";
1113

1214
private static final Set<String> TYPES =
13-
Set.of(JAVALIN_CONTEXT, JEX_CONTEXT, HELIDON_REQ, HELIDON_RES);
15+
Set.of(JAVALIN_CONTEXT, JEX_CONTEXT, HELIDON0_REQ, HELIDON0_RES, HELIDON1_REQ, HELIDON1_RES);
1416

1517
/** Return true if the type is a request scoped type. */
1618
static boolean isRequestType(String rawType) {
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
package org.example;
2+
3+
import io.avaje.http.api.Controller;
4+
import io.avaje.http.api.Get;
5+
import io.avaje.http.api.Path;
6+
import io.helidon.webserver.http.ServerRequest;
7+
import io.helidon.webserver.http.ServerResponse;
8+
import jakarta.inject.Inject;
9+
10+
@Controller
11+
@Path("field")
12+
final class FieldInject2Controller {
13+
14+
@Inject ServerRequest request;
15+
16+
@Get
17+
String hello() {
18+
return "hi";
19+
}
20+
}
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
package org.example;
2+
3+
import io.avaje.http.api.Controller;
4+
import io.avaje.http.api.Get;
5+
import io.avaje.http.api.Path;
6+
import io.helidon.webserver.http.ServerRequest;
7+
import io.helidon.webserver.http.ServerResponse;
8+
import jakarta.inject.Inject;
9+
10+
@Controller
11+
@Path("field")
12+
final class FieldInject3Controller {
13+
14+
@Inject ServerResponse response;
15+
16+
@Get
17+
String hello() {
18+
return "hi";
19+
}
20+
}
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
package org.example;
2+
3+
import io.avaje.http.api.Controller;
4+
import io.avaje.http.api.Get;
5+
import io.avaje.http.api.Path;
6+
import io.helidon.webserver.http.ServerRequest;
7+
import io.helidon.webserver.http.ServerResponse;
8+
import jakarta.inject.Inject;
9+
10+
@Controller
11+
@Path("field")
12+
final class FieldInjectController {
13+
14+
@Inject ServerRequest request;
15+
@Inject ServerResponse response;
16+
17+
@Get
18+
String hello() {
19+
return "hi";
20+
}
21+
}

0 commit comments

Comments
 (0)