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 writeHeaderIfUncommitted(HttpServletResponse response) { if (!response.isCommitted() && !backend.isEmpty()) { final TraceeFilterConfiguration configuration = backend.getConfiguration(profileName); if (configuration.shouldProcessContext(OutgoingResponse)) { final Map<String, String> filteredContext = configuration.filterDeniedParams(backend.copyToMap(), OutgoingResponse); response.setHeader(outgoingHeaderName, httpHeaderSerialization.render(filteredContext)); } } }
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 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)); } }
/** * Outgoing messages */ @Override public AMQP.BasicProperties fromMessageProperties(MessageProperties source, String charset) { final TraceeFilterConfiguration filterConfiguration = backend.getConfiguration(profile); if (!backend.isEmpty() && filterConfiguration.shouldProcessContext(AsyncDispatch)) { final Map<String, String> filteredParams = filterConfiguration.filterDeniedParams(backend.copyToMap(), AsyncDispatch); source.getHeaders().put(TPIC_HEADER, filteredParams); } return super.fromMessageProperties(source, charset); } }
/** * 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 void handleMessage(final Message message) { if (shouldHandleMessage(message)) { final TraceeFilterConfiguration filterConfiguration = backend.getConfiguration(profile); if (!backend.isEmpty() && filterConfiguration.shouldProcessContext(channel)) { final Map<String, String> filteredParams = filterConfiguration.filterDeniedParams(backend.copyToMap(), channel); LOGGER.debug("Interceptor handles message!"); if (Boolean.TRUE.equals(message.getExchange().get(Message.REST_MESSAGE))) { Map<String, List<String>> responseHeaders = CastUtils.cast((Map<?, ?>) message.get(Message.PROTOCOL_HEADERS)); if (responseHeaders == null) { responseHeaders = new HashMap<>(); message.put(Message.PROTOCOL_HEADERS, responseHeaders); } final String contextAsHeader = httpSerializer.render(filteredParams); responseHeaders.put(TraceeConstants.TPIC_HEADER, Collections.singletonList(contextAsHeader)); } else { try { final SoapMessage soapMessage = (SoapMessage) message; addSoapHeader(filteredParams, soapMessage); } catch (NoClassDefFoundError e) { LOGGER.error("Should handle SOAP-message but it seems that cxf soap dependency is not on the classpath. Unable to add Tracee-Headers: {}", e.getMessage(), e); } } } } }
protected void serializeContextToSoapHeader(final WebServiceMessage message, final Channel channel) { if (message instanceof SoapMessage) { final SoapMessage soapMessage = (SoapMessage) message; final TraceeFilterConfiguration filterConfiguration = backend.getConfiguration(profile); if (!backend.isEmpty() && filterConfiguration.shouldProcessContext(channel)) { final SoapHeader soapHeader = soapMessage.getSoapHeader(); if (soapHeader != null) { final Map<String, String> context = filterConfiguration.filterDeniedParams(backend.copyToMap(), channel); soapHeaderTransport.renderSoapHeader(context, soapHeader.getResult()); } } } else { logger.info("Message is obviously no soap message - Not instance of Spring-WS SoapMessage"); } } }
@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 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)); } }
protected final void handleOutgoing(final SOAPMessageContext context) { final SOAPMessage msg = context.getMessage(); if (msg != null && !traceeBackend.isEmpty() && traceeBackend.getConfiguration().shouldProcessContext(IncomingResponse)) { try { final SOAPHeader header = getOrCreateHeader(msg); final Map<String, String> filteredContext = traceeBackend.getConfiguration().filterDeniedParams(traceeBackend.copyToMap(), IncomingResponse); transportSerialization.renderSoapHeader(filteredContext, header); msg.saveChanges(); } catch (final SOAPException e) { logger.warn("TraceeClientHandler : Exception occurred during processing of outbound message.", e); } } } }
protected final void handleOutgoing(final SOAPMessageContext context) { final SOAPMessage msg = context.getMessage(); if (msg != null && !traceeBackend.isEmpty() && traceeBackend.getConfiguration().shouldProcessContext(IncomingResponse)) { try { final SOAPHeader header = getOrCreateHeader(msg); final Map<String, String> filteredContext = traceeBackend.getConfiguration().filterDeniedParams(traceeBackend.copyToMap(), IncomingResponse); transportSerialization.renderSoapHeader(filteredContext, header); msg.saveChanges(); } catch (final SOAPException e) { logger.warn("TraceeClientHandler : Exception occurred during processing of outbound message.", e); } } } }
/** * 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); } }
protected final void handleOutgoing(SOAPMessageContext context) { final SOAPMessage msg = context.getMessage(); try { if (msg != null && !traceeBackend.isEmpty() && traceeBackend.getConfiguration().shouldProcessContext(OutgoingResponse)) { // get or create header final SOAPHeader header = getOrCreateHeader(msg); final Map<String, String> filteredContext = traceeBackend.getConfiguration().filterDeniedParams(traceeBackend.copyToMap(), OutgoingResponse); transportSerialization.renderSoapHeader(filteredContext, header); msg.saveChanges(); context.setMessage(msg); } } catch (final SOAPException e) { logger.error("TraceeServerHandler : Exception occurred during processing of outbound message."); logger.debug("Detailed: TraceeServerHandler : Exception occurred during processing of outbound message: {}", e.getMessage(), e); } finally { // must reset tracee context traceeBackend.clear(); } }
protected final void handleOutgoing(SOAPMessageContext context) { final SOAPMessage msg = context.getMessage(); try { if (msg != null && !traceeBackend.isEmpty() && traceeBackend.getConfiguration().shouldProcessContext(OutgoingResponse)) { // get or create header final SOAPHeader header = getOrCreateHeader(msg); final Map<String, String> filteredContext = traceeBackend.getConfiguration().filterDeniedParams(traceeBackend.copyToMap(), OutgoingResponse); transportSerialization.renderSoapHeader(filteredContext, header); msg.saveChanges(); context.setMessage(msg); } } catch (final SOAPException e) { logger.error("TraceeServerHandler : Exception occurred during processing of outbound message."); logger.debug("Detailed: TraceeServerHandler : Exception occurred during processing of outbound message: {}", e.getMessage(), e); } finally { // must reset tracee context traceeBackend.clear(); } }