Events recovery
This commit is contained in:
24
curl.sh
Executable file
24
curl.sh
Executable file
@@ -0,0 +1,24 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# Basic integration tests using curl...
|
||||||
|
|
||||||
|
curl -s --header "Accept: application/json" --header "Content-Type: application/json" \
|
||||||
|
--request POST \
|
||||||
|
--data '{ "type":"INDIVIDUAL","name":"Mon Tournoi", "shortName": "mon-tournoi", "startDate": "2023-05-10", "endDate": "2023-05-12", "country": "FR", "location": "Marseille", "online": false, "timeSystem": { "type": "fischer", "mainTime": "1200", "increment": "10" }, "pairing": { "type": "ROUNDROBIN" }, "rounds": 5 }' \
|
||||||
|
http://localhost:8080/api/tour
|
||||||
|
|
||||||
|
curl -s --header "Accept: application/json" http://localhost:8080/api/tour
|
||||||
|
|
||||||
|
curl -s --header "Accept: application/json" http://localhost:8080/api/tour/1
|
||||||
|
|
||||||
|
curl -s --header "Accept: application/json" --header "Content-Type: application/json" \
|
||||||
|
--request POST \
|
||||||
|
--data '{ "name": "Burma", "firstname": "Nestor", "rating": 1600, "rank": -2, "country": "FR", "club": "13Ma" }' \
|
||||||
|
http://localhost:8080/api/tour/1/part
|
||||||
|
|
||||||
|
curl -s --header "Accept: application/json" http://localhost:8080/api/tour/1/part
|
||||||
|
|
||||||
|
echo
|
||||||
|
echo
|
||||||
|
|
||||||
|
curl -s --header "Last-Event-Id: 0" http://localhost:8080/events
|
@@ -1,6 +1,7 @@
|
|||||||
package org.jeudego.pairgoth.web
|
package org.jeudego.pairgoth.web
|
||||||
|
|
||||||
import info.macias.sse.events.MessageEvent
|
import info.macias.sse.events.MessageEvent
|
||||||
|
import java.util.concurrent.atomic.AtomicLong
|
||||||
|
|
||||||
enum class Event {
|
enum class Event {
|
||||||
tournamentAdded,
|
tournamentAdded,
|
||||||
@@ -15,8 +16,10 @@ enum class Event {
|
|||||||
;
|
;
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
|
private val nextMessageId = AtomicLong(0)
|
||||||
private val sse: SSEServlet by lazy { SSEServlet.getInstance() }
|
private val sse: SSEServlet by lazy { SSEServlet.getInstance() }
|
||||||
private fun <T> buildEvent(event: Event, data: T) = MessageEvent.Builder()
|
private fun <T> buildEvent(event: Event, data: T) = MessageEvent.Builder()
|
||||||
|
.setId("${nextMessageId.incrementAndGet()}".padStart(10, '0'))
|
||||||
.setEvent(event.name)
|
.setEvent(event.name)
|
||||||
.setData(data.toString())
|
.setData(data.toString())
|
||||||
.build()
|
.build()
|
||||||
|
Reference in New Issue
Block a user