我正在尝试使用额外的cookie对Server Sent Event资源进行单元测试.我已经在为客户端使用Jersey作为EventSource和JavaX.以下代码工作正常:
WebTarget target = ClientBuilder.newBuilder()
.register(SseFeature.class)
.build()
.target("http://localhost:8080/sse");
EventSource eventSource = EventSource.target(target).build();
EventListener listener = new EventListener() {
@Override
public void onEvent(InboundEvent inboundEvent) {
LOG.info(inboundEvent.readData(String.class));
}
};
eventSource.register(listener);
eventSource.open();
serverEventManager.send("/sse", "foo");
eventSource.close();
Run Code Online (Sandbox Code Playgroud)
Hoewever,对于额外的单元测试,我需要在请求中添加额外的cookie.我已经尝试了以下内容
target.(...).request.cookie("foo", "bar");
Run Code Online (Sandbox Code Playgroud)
但是这会返回一个构建器,我无法从中为EventSource创建所需的WebTarget.