Skip to content

Commit a6c043b

Browse files
authored
Make request context available in JSON-RPC request (helidon-io#10712)
1 parent 8723151 commit a6c043b

2 files changed

Lines changed: 69 additions & 7 deletions

File tree

webserver/jsonrpc/src/main/java/io/helidon/webserver/jsonrpc/JsonRpcRequest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,15 +18,15 @@
1818
import java.util.Optional;
1919

2020
import io.helidon.jsonrpc.core.JsonRpcParams;
21-
import io.helidon.webserver.http.HttpRequest;
21+
import io.helidon.webserver.http.ServerRequest;
2222

2323
import jakarta.json.JsonObject;
2424
import jakarta.json.JsonValue;
2525

2626
/**
2727
* A representation of a JSON-RPC request.
2828
*/
29-
public interface JsonRpcRequest extends HttpRequest {
29+
public interface JsonRpcRequest extends ServerRequest {
3030

3131
/**
3232
* The request version. Always "2.0".

webserver/jsonrpc/src/main/java/io/helidon/webserver/jsonrpc/JsonRpcRequestImpl.java

Lines changed: 67 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,17 +15,24 @@
1515
*/
1616
package io.helidon.webserver.jsonrpc;
1717

18+
import java.io.InputStream;
1819
import java.util.Optional;
20+
import java.util.function.UnaryOperator;
1921

22+
import io.helidon.common.context.Context;
2023
import io.helidon.common.socket.PeerInfo;
2124
import io.helidon.common.uri.UriInfo;
22-
import io.helidon.common.uri.UriPath;
2325
import io.helidon.common.uri.UriQuery;
2426
import io.helidon.http.Header;
2527
import io.helidon.http.HttpPrologue;
28+
import io.helidon.http.RoutedPath;
2629
import io.helidon.http.ServerRequestHeaders;
30+
import io.helidon.http.media.ReadableEntity;
2731
import io.helidon.jsonrpc.core.JsonRpcParams;
28-
import io.helidon.webserver.http.HttpRequest;
32+
import io.helidon.webserver.ListenerContext;
33+
import io.helidon.webserver.ProxyProtocolData;
34+
import io.helidon.webserver.http.HttpSecurity;
35+
import io.helidon.webserver.http.ServerRequest;
2936

3037
import jakarta.json.JsonObject;
3138
import jakarta.json.JsonStructure;
@@ -36,10 +43,10 @@
3643
*/
3744
class JsonRpcRequestImpl implements JsonRpcRequest {
3845

39-
private final HttpRequest delegate;
46+
private final ServerRequest delegate;
4047
private final JsonObject request;
4148

42-
JsonRpcRequestImpl(HttpRequest delegate, JsonObject request) {
49+
JsonRpcRequestImpl(ServerRequest delegate, JsonObject request) {
4350
this.delegate = delegate;
4451
this.request = request;
4552
}
@@ -73,6 +80,36 @@ public JsonObject asJsonObject() {
7380
return request;
7481
}
7582

83+
@Override
84+
public Context context() {
85+
return delegate.context();
86+
}
87+
88+
@Override
89+
public ListenerContext listenerContext() {
90+
return delegate.listenerContext();
91+
}
92+
93+
@Override
94+
public HttpSecurity security() {
95+
return delegate.security();
96+
}
97+
98+
@Override
99+
public boolean continueSent() {
100+
return delegate.continueSent();
101+
}
102+
103+
@Override
104+
public void streamFilter(UnaryOperator<InputStream> filterFunction) {
105+
delegate.streamFilter(filterFunction);
106+
}
107+
108+
@Override
109+
public Optional<ProxyProtocolData> proxyProtocolData() {
110+
return delegate.proxyProtocolData();
111+
}
112+
76113
@Override
77114
public HttpPrologue prologue() {
78115
return delegate.prologue();
@@ -84,10 +121,35 @@ public ServerRequestHeaders headers() {
84121
}
85122

86123
@Override
87-
public UriPath path() {
124+
public void reset() {
125+
delegate.reset();
126+
}
127+
128+
@Override
129+
public boolean isSecure() {
130+
return delegate.isSecure();
131+
}
132+
133+
@Override
134+
public RoutedPath path() {
88135
return delegate.path();
89136
}
90137

138+
@Override
139+
public ReadableEntity content() {
140+
return delegate.content();
141+
}
142+
143+
@Override
144+
public String socketId() {
145+
return delegate.socketId();
146+
}
147+
148+
@Override
149+
public String serverSocketId() {
150+
return delegate.serverSocketId();
151+
}
152+
91153
@Override
92154
public UriQuery query() {
93155
return delegate.query();

0 commit comments

Comments
 (0)