Files
SuperBizAgent-java/src/main/java/com/superbiz/agent/controller/sse/SseEmitterChatSink.java
T

29 lines
748 B
Java

package com.superbiz.agent.controller.sse;
import org.springframework.http.MediaType;
import org.springframework.web.servlet.mvc.method.annotation.SseEmitter;
import java.io.IOException;
import java.util.Objects;
final class SseEmitterChatSink implements ChatSseSink {
private final SseEmitter emitter;
SseEmitterChatSink(SseEmitter emitter) {
this.emitter = Objects.requireNonNull(emitter, "emitter must not be null");
}
@Override
public void send(String name, Object payload) throws IOException {
emitter.send(SseEmitter.event()
.name(name)
.data(payload, MediaType.APPLICATION_JSON));
}
@Override
public void complete() {
emitter.complete();
}
}