Skip to content

Latest commit

 

History

History
92 lines (78 loc) · 2.16 KB

README.md

File metadata and controls

92 lines (78 loc) · 2.16 KB

Implement Events Listeners in Go

Params

  • PORT - address for server listen, default 8080

Run width docker

$ docker-compose up

API

POST /listener - Create new listener
DELETE /listener/{listenerName} - Delete listener
POST /publish/{eventName} - Publish listeners by event name

Create new listener

POST /listener
{
  "event": "eventName",
  "name": "listenerName",
  "address": "listenerHttpAddress"
}

Delete listener

DELETE /listener/{listenerName}

Publish listeners by event name

POST /publish/{eventName}

Example


==> POST /listener
{
    "event": "event1",
    "name": "listener1",
    "address": "https://golang.org"
}
curl -i http://localhost:8080/listener -X POST -d '{"event": "event1", "name": "listener1","address": "https://golang.org"}'
<== HTTP 200 OK
{"success": "ok"}

==> POST /listener
{
    "event": "event2",
    "name": "listener2",
    "address": "https://golang.org"
}
curl -i http://localhost:8080/listener -X POST -d '{"event": "event2", "name": "listener2","address": "https://golang.org"}'
<== HTTP 200 OK
{"success": "ok"}

==> POST /listener
{
    "event": "event2",
    "name": "listener1",
    "address": "https://golang.org"
}
curl -i http://localhost:8080/listener -X POST -d '{"event": "event2", "name": "listener1","address": "https://golang.org"}'
<== HTTP 400 Bad Request
{"error": "Listener exists."}

==> DELETE /listener/listener1
curl -i http://localhost:8080/listener/listener1 -X DELETE
<== HTTP 200 OK
{"success": "ok"}

==> DELETE /listener/listener1
curl -i http://localhost:8080/listener/listener1 -X DELETE
<== HTTP 400 Bad Request
{"error": "Listener not exists."}

==> POST /publish/event2
curl -i http://localhost:8080/publish/event2 -X POST
<== HTTP 200 OK
{"success": "ok"}

==> POST /publish/event3
curl -i http://localhost:8080/publish/event3 -X POST
<== HTTP 400 Bad Request
{"error": "Event not exists."}

==> POST /publish/event1
curl -i http://localhost:8080/publish/event1 -X POST
<== HTTP 400 Bad Request
{"error": "Event listeners not exists."}