SLING-5459 - Recording of tracer logs
Tracer servlet would now send a protocol version version against header 'Sling-Tracer-Protocol-Version'. For now its value is 1. This would allow client to determine if they can work against this server or not
git-svn-id: https://svn.apache.org/repos/asf/sling/trunk@1728082 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/src/main/java/org/apache/sling/tracer/internal/TracerLogServlet.java b/src/main/java/org/apache/sling/tracer/internal/TracerLogServlet.java
index dd50def..479f6dc 100644
--- a/src/main/java/org/apache/sling/tracer/internal/TracerLogServlet.java
+++ b/src/main/java/org/apache/sling/tracer/internal/TracerLogServlet.java
@@ -46,6 +46,10 @@
public static final String HEADER_TRACER_REQUEST_ID = "Sling-Tracer-Request-Id";
+ public static final String HEADER_TRACER_PROTOCOL_VERSION = "Sling-Tracer-Protocol-Version";
+
+ public static final int TRACER_PROTOCOL_VERSION = 1;
+
private final Cache<String, JSONRecording> cache;
public TracerLogServlet(BundleContext context) {
@@ -161,8 +165,8 @@
request.setAttribute(ATTR_REQUEST_ID, requestId);
response.setHeader(HEADER_TRACER_REQUEST_ID, requestId);
- //TODO Show we also sent tracer version to enable client determine
- //is server is capable of given version
+ response.setHeader(HEADER_TRACER_PROTOCOL_VERSION, String.valueOf(TRACER_PROTOCOL_VERSION));
+
return recording;
}
diff --git a/src/test/java/org/apache/sling/tracer/internal/TracerLogServletTest.java b/src/test/java/org/apache/sling/tracer/internal/TracerLogServletTest.java
index 21f7dcb..5a3c24b 100644
--- a/src/test/java/org/apache/sling/tracer/internal/TracerLogServletTest.java
+++ b/src/test/java/org/apache/sling/tracer/internal/TracerLogServletTest.java
@@ -98,6 +98,8 @@
ArgumentCaptor<String> requestIdCaptor = ArgumentCaptor.forClass(String.class);
verify(response).setHeader(eq(TracerLogServlet.HEADER_TRACER_REQUEST_ID), requestIdCaptor.capture());
+ verify(response).setHeader(TracerLogServlet.HEADER_TRACER_PROTOCOL_VERSION,
+ String.valueOf(TracerLogServlet.TRACER_PROTOCOL_VERSION));
StringWriter sw = new StringWriter();
when(response.getWriter()).thenReturn(new PrintWriter(sw));