From 74a92004f2b26c5ebbf36bc0f12cc9a48f4bd027 Mon Sep 17 00:00:00 2001 From: DedunuKarunarathne <46235093+DedunuKarunarathne@users.noreply.github.com> Date: Thu, 1 Feb 2024 13:40:05 +0530 Subject: [PATCH] Fix 404 errors for APIs when enabling MetricHandler Fix 404 errors for APIs when enabling MetricHandler. Fixes- wso2/micro-integrator#3082 --- .../observability/metric/handler/MetricHandler.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/components/mediation/data-publishers/org.wso2.micro.integrator.observability/src/main/java/org/wso2/micro/integrator/observability/metric/handler/MetricHandler.java b/components/mediation/data-publishers/org.wso2.micro.integrator.observability/src/main/java/org/wso2/micro/integrator/observability/metric/handler/MetricHandler.java index 7d175e4854..20dfa74ca3 100644 --- a/components/mediation/data-publishers/org.wso2.micro.integrator.observability/src/main/java/org/wso2/micro/integrator/observability/metric/handler/MetricHandler.java +++ b/components/mediation/data-publishers/org.wso2.micro.integrator.observability/src/main/java/org/wso2/micro/integrator/observability/metric/handler/MetricHandler.java @@ -311,7 +311,11 @@ private void incrementInboundEndpointErrorCount(String name) { private String getApiName(String contextPath, MessageContext synCtx) { String apiName = null; for (API api : synCtx.getEnvironment().getSynapseConfiguration().getAPIs()) { - if (RESTUtils.matchApiPath(contextPath, api.getContext())) { + String apiContextPath = api.getContext(); + if (api.getVersionStrategy().getVersion() != null) { + apiContextPath = apiContextPath + "/" + api.getVersionStrategy().getVersion(); + } + if (RESTUtils.matchApiPath(contextPath, apiContextPath)) { apiName = api.getName(); synCtx.setProperty(RESTConstants.PROCESSED_API, api); // if we match to a versioned API, search should stop.