Skip to content

Commit e8ba06b

Browse files
committed
Make sure the authorization is sent if present
1 parent 704407f commit e8ba06b

File tree

2 files changed

+14
-5
lines changed

2 files changed

+14
-5
lines changed

Server/src/main/java/stream/flarebot/webhook_distributor/server/Delivery.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,13 @@ public class Delivery {
77

88
private String ip;
99
private String userAgent;
10+
private String authorization;
1011
private JsonElement payload;
1112

12-
Delivery(String ip, String userAgent, JsonElement payload) {
13+
Delivery(String ip, String userAgent, String authorization, JsonElement payload) {
1314
this.ip = ip;
1415
this.userAgent = userAgent;
16+
this.authorization = authorization;
1517
this.payload = payload;
1618
}
1719

@@ -27,6 +29,10 @@ public JsonElement getPayload() {
2729
return payload;
2830
}
2931

32+
public String getAuthorization() {
33+
return authorization;
34+
}
35+
3036
public boolean isBatch() {
3137
return payload instanceof JsonArray && ((JsonArray) payload).size() > 1;
3238
}

Server/src/main/java/stream/flarebot/webhook_distributor/server/DistributorServer.java

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,7 @@ private void setupRoutes() {
139139
return getBadRequest(res, "No body specified!");
140140

141141
JsonElement element = parser.parse(req.body());
142-
Delivery delivery = new Delivery(req.ip(), req.userAgent(), element);
142+
Delivery delivery = new Delivery(req.ip(), req.userAgent(), req.headers("Authorization"), element);
143143

144144
if (!services.containsKey(serviceName)) {
145145
logger.warn("Got webhook event for non-active service. Queued webhook");
@@ -218,11 +218,14 @@ private boolean sendDelivery(String service, Delivery delivery) {
218218
logger.info("Sending delivery to " + url);
219219

220220
try {
221-
com.squareup.okhttp.Response response = client.newCall(new Request.Builder().url(url)
221+
Request.Builder builder = new Request.Builder().url(url)
222222
.addHeader("User-Agent", delivery.getUserAgent())
223223
.addHeader("Sent-By", delivery.getIp())
224-
.post(RequestBody.create(MediaType.parse("application/json"), delivery.getPayload().toString()))
225-
.build()).execute();
224+
.post(RequestBody.create(MediaType.parse("application/json"), delivery.getPayload().toString()));
225+
226+
if (delivery.getAuthorization() != null && !delivery.getAuthorization().isEmpty())
227+
builder.addHeader("Authorization", delivery.getAuthorization());
228+
com.squareup.okhttp.Response response = client.newCall(builder.build()).execute();
226229

227230
if (response.code() != 200) {
228231
ResponseBody body = response.body();

0 commit comments

Comments
 (0)