HTTP-SSE API

An API for receiving and sending SSE (Server-Sent-Events). SSE producers and consumers can be defined via annotations. A standalone mode is also provided including SSL support.

Лицензия

Лицензия

Группа

Группа

com.ai-republic
Идентификатор

Идентификатор

http-sse-api
Последняя версия

Последняя версия

1.0.1
Дата

Дата

Тип

Тип

jar
Описание

Описание

HTTP-SSE API
An API for receiving and sending SSE (Server-Sent-Events). SSE producers and consumers can be defined via annotations. A standalone mode is also provided including SSL support.

Скачать http-sse-api

Как подключить последнюю версию

<!-- https://jarcasting.com/artifacts/com.ai-republic/http-sse-api/ -->
<dependency>
    <groupId>com.ai-republic</groupId>
    <artifactId>http-sse-api</artifactId>
    <version>1.0.1</version>
</dependency>
// https://jarcasting.com/artifacts/com.ai-republic/http-sse-api/
implementation 'com.ai-republic:http-sse-api:1.0.1'
// https://jarcasting.com/artifacts/com.ai-republic/http-sse-api/
implementation ("com.ai-republic:http-sse-api:1.0.1")
'com.ai-republic:http-sse-api:jar:1.0.1'
<dependency org="com.ai-republic" name="http-sse-api" rev="1.0.1">
  <artifact name="http-sse-api" type="jar" />
</dependency>
@Grapes(
@Grab(group='com.ai-republic', module='http-sse-api', version='1.0.1')
)
libraryDependencies += "com.ai-republic" % "http-sse-api" % "1.0.1"
[com.ai-republic/http-sse-api "1.0.1"]

Зависимости

compile (4)

Идентификатор библиотеки Тип Версия
com.ai-republic : http-common jar 1.0.1
jakarta.enterprise : jakarta.enterprise.cdi-api jar 2.0.1
org.glassfish.hk2.external : jakarta.inject jar 2.6.0
jakarta.annotation : jakarta.annotation-api jar 1.3.4

Модули Проекта

Данный проект не имеет модулей.

HTTP SSE

Libraries for receiving and sending SSE (Server-Sent-Events). SSE producers and consumers can be defined via annotations. A standalone mode is also provided including SSL support.

Receiving SSE events

If you are using the Bootstrap class all you need to do to receive SSE events is simply annotate a method with @SseConsumer and specify the event-source URI like the following:

@SseConsumer("https://some.server.com/sending/events")
public void consumeEvent(SseEvent sseEvent) {
...
}

Or

if you want to receive SseEvents only using the SseService you can do this simply by calling:

sseService.receive(new URI("https://to.some.server"), sseEvent -> processTheEvent);

Producing SSE events

If you are using the Bootstrap class all you need to do to produce SSE events is simply annotate a method with @SseProducer which must return a SseEvent like the following:

@SseProducer(path = "/sse/produce", maxTimes = -1, delay = 1, unit = TimeUnit.SECONDS)
public SseEvent produceEvent() {
  return new SseEvent.Builder().withData(words[counter++ % 4]).build();
}

This will start the SimpleServer to receive incoming requests, react on the configured URI path, perform the handshake and call the producer method according to the configured delay.

Or

if you implement your own server you can just register your producer class with the ISseRegistry and call the SseService like the following:

sseService.processRequest(socketChannel, sslContext, sseRegistry);

Or

if you want to send SseEvents to an open SocketChannel only using the SseService you can do this simply by calling:

sseService.handshake(socketChannel, sslEngine);
sseService.send(sseEvent, socketChannel, sslEngine);

SSL

To use SSL you only need to supply a SSLContext and/or SSLEngine. This can be easily created using the SslSupport class from the http-common library which is included as dependency with this project.

Версии библиотеки

Версия
1.0.1
1.0.0