private void handleHttpMessage(final Message message, final TraceeFilterConfiguration filterConfiguration) { final Map<String, List<String>> requestHeaders = CastUtils.cast((Map<?, ?>) message.get(Message.PROTOCOL_HEADERS)); if (requestHeaders != null && !requestHeaders.isEmpty()) { final List<String> traceeHeader = requestHeaders.get(TraceeConstants.TPIC_HEADER); if (traceeHeader != null && !traceeHeader.isEmpty()) { final Map<String, String> parsedContext = httpJsonSerializer.parse(traceeHeader); backend.putAll(filterConfiguration.filterDeniedParams(parsedContext, channel)); } } }
@Override public final void process(HttpResponse response, HttpContext context) { final TraceeFilterConfiguration filterConfiguration = backend.getConfiguration(profile); final Iterator<Header> headerIterator = response.headerIterator(TraceeConstants.TPIC_HEADER); if (headerIterator != null && headerIterator.hasNext() && filterConfiguration.shouldProcessContext(IncomingResponse)) { final List<String> stringTraceeHeaders = new ArrayList<>(); while (headerIterator.hasNext()) { stringTraceeHeaders.add(headerIterator.next().getValue()); } backend.putAll(filterConfiguration.filterDeniedParams(transportSerialization.parse(stringTraceeHeaders), IncomingResponse)); } } }
@Override public final void process(HttpResponse response, HttpContext context) { final TraceeFilterConfiguration filterConfiguration = backend.getConfiguration(profile); final Header[] responseHeaders = response.getHeaders(TraceeConstants.TPIC_HEADER); if (responseHeaders != null && responseHeaders.length > 0 && filterConfiguration.shouldProcessContext(IncomingResponse)) { final List<String> stringTraceeHeaders = new ArrayList<>(); for (Header header : responseHeaders) { stringTraceeHeaders.add(header.getValue()); } backend.putAll(filterConfiguration.filterDeniedParams(transportSerialization.parse(stringTraceeHeaders), IncomingResponse)); } } }
private void writeContextToResponse(HttpServletResponse response, TraceeFilterConfiguration configuration) { if (configuration.shouldProcessContext(OutgoingResponse) && !backend.isEmpty()) { final Map<String, String> filteredContext = backend.getConfiguration(profile).filterDeniedParams(backend, OutgoingResponse); response.setHeader(HTTP_HEADER_NAME, transportSerialization.render(filteredContext)); } }
private void postResponse(HttpMethod httpMethod) { if (!httpMethod.isRequestSent()) return; final Header[] responseHeaders = httpMethod.getResponseHeaders(TraceeConstants.TPIC_HEADER); final TraceeFilterConfiguration filterConfiguration = backend.getConfiguration(profile); if (responseHeaders != null && responseHeaders.length > 0 && filterConfiguration.shouldProcessContext(IncomingResponse)) { final List<String> stringTraceeHeaders = new ArrayList<>(); for (Header header : responseHeaders) { stringTraceeHeaders.add(header.getValue()); } backend.putAll(filterConfiguration.filterDeniedParams(transportSerialization.parse(stringTraceeHeaders), IncomingResponse)); } }
private void writeContextToResponse(final HttpServletResponse response, final TraceeFilterConfiguration configuration) { if (!backend.isEmpty() && configuration.shouldProcessContext(OutgoingResponse)) { final Map<String, String> filteredContext = backend.getConfiguration(profile).filterDeniedParams(backend.copyToMap(), OutgoingResponse); response.setHeader(HTTP_HEADER_NAME, transportSerialization.render(filteredContext)); } }
public void injectContext(JobDataMap jobDataMap) { final TraceeFilterConfiguration configuration = backend.getConfiguration(profile); if (!backend.isEmpty() && configuration.shouldProcessContext(AsyncDispatch)) { jobDataMap.put(TraceeConstants.TPIC_HEADER, backend.getConfiguration(profile).filterDeniedParams(backend.copyToMap(), AsyncDispatch)); } } }
private void handleSoapMessage(final SoapMessage message, final TraceeFilterConfiguration filterConfiguration) { final Header soapHeader = message.getHeader(TraceeConstants.SOAP_HEADER_QNAME); if (soapHeader != null) { final Map<String, String> parsedContext = httpSoapSerializer.parseTpicHeader((Element) soapHeader.getObject()); backend.putAll(filterConfiguration.filterDeniedParams(parsedContext, channel)); } } }
private void preRequest(final HttpRequest request) { final TraceeFilterConfiguration filterConfiguration = backend.getConfiguration(profile); if (!backend.isEmpty() && filterConfiguration.shouldProcessContext(OutgoingRequest)) { final Map<String, String> filteredParams = filterConfiguration.filterDeniedParams(backend.copyToMap(), OutgoingRequest); request.getHeaders().add(TraceeConstants.TPIC_HEADER, transportSerialization.render(filteredParams)); } }
/** * This method handles the incoming response */ @Override public void filter(final ClientRequestContext requestContext, final ClientResponseContext responseContext) { final List<String> serializedHeaders = responseContext.getHeaders().get(TraceeConstants.TPIC_HEADER); if (serializedHeaders != null && backend.getConfiguration().shouldProcessContext(IncomingResponse)) { final Map<String, String> parsed = transportSerialization.parse(serializedHeaders); backend.putAll(backend.getConfiguration().filterDeniedParams(parsed, IncomingResponse)); } } }
@SuppressWarnings("unchecked") public void beforeProcessing(Message message) throws JMSException { if (backend.getConfiguration().shouldProcessContext(AsyncProcess)) { final Object encodedTraceeContext = message.getObjectProperty(TraceeConstants.JMS_HEADER_NAME); if (encodedTraceeContext != null) { final Map<String, String> contextFromMessage = (Map<String, String>) encodedTraceeContext; final Map<String, String> filteredContext = backend.getConfiguration().filterDeniedParams(contextFromMessage, AsyncProcess); backend.putAll(filteredContext); } } }
@SuppressWarnings("unchecked") public void beforeProcessing(final Message message) throws JMSException { if (backend.getConfiguration().shouldProcessContext(AsyncProcess)) { final String encodedTraceeContext = message.getStringProperty(TraceeConstants.TPIC_HEADER); if (encodedTraceeContext != null) { final Map<String, String> contextFromMessage = httpHeaderSerialization.parse(singletonList(encodedTraceeContext)); backend.putAll(backend.getConfiguration().filterDeniedParams(contextFromMessage, AsyncProcess)); } } Utilities.generateInvocationIdIfNecessary(backend); }
/** * This method handles the outgoing response */ @Override public void filter(final ContainerRequestContext requestContext, final ContainerResponseContext responseContext) { if (backend.getConfiguration().shouldProcessContext(OutgoingResponse)) { final Map<String, String> filtered = backend.getConfiguration().filterDeniedParams(backend.copyToMap(), OutgoingResponse); responseContext.getHeaders().putSingle(TraceeConstants.TPIC_HEADER, transportSerialization.render(filtered)); } backend.clear(); } }
/** * Writes the current TraceeContext to the given javaee message. * This method is idempotent. */ protected void writeTraceeContextToMessage(Message message) throws JMSException { if (!backend.isEmpty() && backend.getConfiguration().shouldProcessContext(AsyncDispatch)) { final Map<String, String> filteredContext = backend.getConfiguration().filterDeniedParams(backend, AsyncDispatch); message.setObjectProperty(TraceeConstants.JMS_HEADER_NAME, filteredContext); } }
/** * This method handles the outgoing request */ @Override public void filter(final ClientRequestContext requestContext) { if (!backend.isEmpty() && backend.getConfiguration().shouldProcessContext(OutgoingRequest)) { final Map<String, String> filtered = backend.getConfiguration().filterDeniedParams(backend.copyToMap(), OutgoingRequest); requestContext.getHeaders().putSingle(TraceeConstants.TPIC_HEADER, transportSerialization.render(filtered)); } }
@Override public final void process(final HttpRequest httpRequest, final HttpContext httpContext) { final TraceeFilterConfiguration filterConfiguration = backend.getConfiguration(profile); if (!backend.isEmpty() && filterConfiguration.shouldProcessContext(OutgoingRequest)) { final Map<String, String> filteredParams = filterConfiguration.filterDeniedParams(backend.copyToMap(), OutgoingRequest); httpRequest.setHeader(TraceeConstants.TPIC_HEADER, transportSerialization.render(filteredParams)); } } }
@Override public final void process(final HttpRequest httpRequest, final HttpContext httpContext) { final TraceeFilterConfiguration filterConfiguration = backend.getConfiguration(profile); if (!backend.isEmpty() && filterConfiguration.shouldProcessContext(OutgoingRequest)) { final Map<String, String> filteredParams = filterConfiguration.filterDeniedParams(backend.copyToMap(), OutgoingRequest); httpRequest.setHeader(TraceeConstants.TPIC_HEADER, transportSerialization.render(filteredParams)); } } }
private void postResponse(ClientHttpResponse response) { final List<String> headers = response.getHeaders().get(TraceeConstants.TPIC_HEADER); if (headers != null) { final TraceeFilterConfiguration filterConfiguration = backend.getConfiguration(profile); if (filterConfiguration.shouldProcessContext(IncomingResponse)) { backend.putAll(filterConfiguration.filterDeniedParams(transportSerialization.parse(headers), IncomingResponse)); } } } }
private void preRequest(HttpMethod httpMethod) { final TraceeFilterConfiguration filterConfiguration = backend.getConfiguration(profile); if (!backend.isEmpty() && filterConfiguration.shouldProcessContext(OutgoingRequest)) { final Map<String, String> filteredParams = filterConfiguration.filterDeniedParams(backend.copyToMap(), OutgoingRequest); httpMethod.setRequestHeader(TraceeConstants.TPIC_HEADER, transportSerialization.render(filteredParams)); } }
/** * Writes the current TraceeContext to the given javaee message. * This method is idempotent. */ protected void writeTraceeContextToMessage(Message message) throws JMSException { if (!backend.isEmpty() && backend.getConfiguration().shouldProcessContext(AsyncDispatch)) { final Map<String, String> filteredContext = backend.getConfiguration().filterDeniedParams(backend.copyToMap(), AsyncDispatch); final String contextAsString = httpHeaderSerialization.render(filteredContext); message.setStringProperty(TraceeConstants.TPIC_HEADER, contextAsString); } }