All Downloads are FREE. Search and download functionalities are using the official Maven repository.

no.nav.common.cxf.CXFMaskTokenLoggingInInterceptor Maven / Gradle / Ivy

The newest version!
package no.nav.common.cxf;

import org.apache.cxf.interceptor.Fault;
import org.apache.cxf.interceptor.LoggingInInterceptor;
import org.apache.cxf.message.Message;
import org.apache.cxf.message.MessageImpl;
import org.slf4j.LoggerFactory;

import java.util.TreeMap;
import java.util.logging.Logger;

public class CXFMaskTokenLoggingInInterceptor extends LoggingInInterceptor{
    private boolean maskerToken = true;

    private static final org.slf4j.Logger LOG = LoggerFactory.getLogger(CXFMaskTokenLoggingInInterceptor.class);


    public CXFMaskTokenLoggingInInterceptor() {
        super();
    }

    public CXFMaskTokenLoggingInInterceptor(int limit) {
        super(limit);
    }

    public void setMaskerTokenLogging(boolean maskerTokenLogging) {
        this.maskerToken = maskerTokenLogging;
    }


    @Override
    protected void logging(Logger logger, Message message) throws Fault {
        Message maskedMessage = new MessageImpl(message);
        // Skal kun endre headers i maskedMessage, ikke i message
        TreeMap headers = (TreeMap) ((TreeMap)maskedMessage.get(Message.PROTOCOL_HEADERS)).clone();
        if (headers != null && maskerToken) {
                if(headers.containsKey("Cookie")) {
                    headers.remove("Cookie");
                    maskedMessage.remove(Message.PROTOCOL_HEADERS);
                    maskedMessage.put(Message.PROTOCOL_HEADERS, headers);
                }
        }
        super.logging(logger, maskedMessage);
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy