From 0d90f8c9d73e64e0419795810eb253160d196555 Mon Sep 17 00:00:00 2001 From: Vinay Kumar Date: Tue, 15 Jan 2019 19:36:03 +0000 Subject: [PATCH 1/2] Added Request ID --- .../java/in/erail/route/OpenAPI3RouteBuilder.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/main/java/in/erail/route/OpenAPI3RouteBuilder.java b/src/main/java/in/erail/route/OpenAPI3RouteBuilder.java index acaa25b..f7db16a 100644 --- a/src/main/java/in/erail/route/OpenAPI3RouteBuilder.java +++ b/src/main/java/in/erail/route/OpenAPI3RouteBuilder.java @@ -4,6 +4,7 @@ import com.codahale.metrics.Metered; import com.codahale.metrics.MetricRegistry; import com.codahale.metrics.Timer; +import com.google.common.base.Strings; import com.google.common.net.HttpHeaders; import com.google.common.net.MediaType; import java.io.File; @@ -31,6 +32,7 @@ import java.util.Arrays; import java.util.HashMap; import java.util.Optional; +import java.util.UUID; import org.apache.commons.lang3.exception.ExceptionUtils; /** @@ -39,6 +41,7 @@ */ public class OpenAPI3RouteBuilder extends AbstractRouterBuilderImpl { + private static final String HEADER_X_REQUEST_ID = "X-Request-ID"; private static final String FAIL_SUFFIX = ".fail"; private RESTService[] mServices; private File mOpenAPI3File; @@ -83,6 +86,15 @@ public void process(RoutingContext pRequestContext, String pServiceUniqueId) { Timer.Context timerCtx = ((Timer) getMetrics().get(pServiceUniqueId)).time(); + String requestId = pRequestContext.request().getHeader(HEADER_X_REQUEST_ID); + + if (Strings.isNullOrEmpty(requestId)) { + requestId = UUID.randomUUID().toString(); + pRequestContext.request().headers().add(HEADER_X_REQUEST_ID, UUID.randomUUID().toString()); + } + + pRequestContext.response().putHeader(HEADER_X_REQUEST_ID, requestId); + getVertx() .eventBus() .send(pServiceUniqueId, From e9bcd89d4ea5916aa298c26ab37bace2f6dbb22b Mon Sep 17 00:00:00 2001 From: Vinay Kumar Date: Thu, 17 Jan 2019 15:49:06 +0000 Subject: [PATCH 2/2] Updated version --- pom.xml | 4 ++-- .../in/erail/route/OpenAPI3RouteBuilder.java | 17 +++++++++++++---- 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/pom.xml b/pom.xml index 0f8efa5..6f0c96d 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ 4.0.0 in.erail api-framework - 2.4.4 + 2.4.5 jar @@ -183,7 +183,7 @@ in.erail glue - 2.4.3 + 2.4.5 org.mockito diff --git a/src/main/java/in/erail/route/OpenAPI3RouteBuilder.java b/src/main/java/in/erail/route/OpenAPI3RouteBuilder.java index f7db16a..720a356 100644 --- a/src/main/java/in/erail/route/OpenAPI3RouteBuilder.java +++ b/src/main/java/in/erail/route/OpenAPI3RouteBuilder.java @@ -49,7 +49,8 @@ public class OpenAPI3RouteBuilder extends AbstractRouterBuilderImpl { private boolean mSecurityEnable = true; private HashMap mMetrics = new HashMap<>(); private MetricRegistry mMetricRegistry; - + private String mRequestIdHeaderName = HEADER_X_REQUEST_ID; + public File getOpenAPI3File() { return mOpenAPI3File; } @@ -86,14 +87,14 @@ public void process(RoutingContext pRequestContext, String pServiceUniqueId) { Timer.Context timerCtx = ((Timer) getMetrics().get(pServiceUniqueId)).time(); - String requestId = pRequestContext.request().getHeader(HEADER_X_REQUEST_ID); + String requestId = pRequestContext.request().getHeader(getRequestIdHeaderName()); if (Strings.isNullOrEmpty(requestId)) { requestId = UUID.randomUUID().toString(); - pRequestContext.request().headers().add(HEADER_X_REQUEST_ID, UUID.randomUUID().toString()); + pRequestContext.request().headers().add(getRequestIdHeaderName(), UUID.randomUUID().toString()); } - pRequestContext.response().putHeader(HEADER_X_REQUEST_ID, requestId); + pRequestContext.response().putHeader(getRequestIdHeaderName(), requestId); getVertx() .eventBus() @@ -332,4 +333,12 @@ public void setMetricRegistry(MetricRegistry pMetricRegistry) { this.mMetricRegistry = pMetricRegistry; } + public String getRequestIdHeaderName() { + return mRequestIdHeaderName; + } + + public void setRequestIdHeaderName(String pRequestIdHeaderName) { + this.mRequestIdHeaderName = pRequestIdHeaderName; + } + }