All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.javalin.http.sse.SseClient Maven / Gradle / Ivy

There is a newer version: 6.2.0
Show newest version
package io.javalin.http.sse;

import io.javalin.http.Context;

public class SseClient {

    public final Context ctx;
    private Emitter emitter;
    private Runnable closeCallback = null;

    public SseClient(Context ctx) {
        this.emitter = new Emitter(ctx.req.getAsyncContext());
        this.ctx = ctx;
    }

    public void onClose(Runnable closeCallback) {
        this.closeCallback = closeCallback;
    }

    public void sendEvent(String data) {
        sendEvent("message", data);
    }

    public void sendEvent(String event, String data) {
        sendEvent(event, data, null);
    }

    public void sendEvent(String event, String data, String id) {
        this.emitter.emit(event, data, id);
        if (emitter.isClose() && closeCallback != null) {
            closeCallback.run();
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy