From 9f56248a541719cf097fe9c501042dacd9e45c36 Mon Sep 17 00:00:00 2001 From: Mauro Mugnaini Date: Wed, 24 Jun 2020 09:52:51 +0200 Subject: [PATCH] Event name is now sent as part of the URI --- .../event/publisher/HTTPEventSender.java | 21 +++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/src/main/java/org/gcube/event/publisher/HTTPEventSender.java b/src/main/java/org/gcube/event/publisher/HTTPEventSender.java index dafe2a7..7b2329e 100644 --- a/src/main/java/org/gcube/event/publisher/HTTPEventSender.java +++ b/src/main/java/org/gcube/event/publisher/HTTPEventSender.java @@ -4,6 +4,7 @@ import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.OutputStream; import java.net.HttpURLConnection; +import java.net.MalformedURLException; import java.net.URL; import org.gcube.oidc.rest.JWTToken; @@ -32,15 +33,22 @@ public class HTTPEventSender implements EventSender { if (log.isDebugEnabled()) { log.debug("Starting HTTP POST thread to: " + endpoint); } - new Thread(new HTTPost(event.toJSONString())).start(); + try { + URL eventEndpoint = new URL(endpoint, event.getName()); + new Thread(new HTTPost(eventEndpoint, event.toJSONString())).start(); + } catch (MalformedURLException e) { + log.error("Cannot compute event endpoint URL. Event name: " + event.getName() + ", base endpoint: " + + endpoint, e); + } } public class HTTPost implements Runnable { - private String json; + private URL endpoint; + private String jsonString; - public HTTPost(String json) { - this.json = json; + public HTTPost(URL endpoint, String jsonString) { + this.jsonString = jsonString; } @Override @@ -64,7 +72,7 @@ public class HTTPEventSender implements EventSender { if (log.isTraceEnabled()) { log.trace("Sending event JSON"); } - os.write(json.getBytes("UTF-8")); + os.write(jsonString.getBytes("UTF-8")); os.close(); StringBuilder sb = new StringBuilder(); @@ -101,4 +109,5 @@ public class HTTPEventSender implements EventSender { } } } -} + +} \ No newline at end of file