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

com.yahoo.processing.processors.RequestPropertyTracer Maven / Gradle / Ivy

There is a newer version: 8.458.13
Show newest version
// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.processing.processors;

import com.yahoo.processing.Processor;
import com.yahoo.processing.Request;
import com.yahoo.processing.Response;
import com.yahoo.processing.execution.Execution;

import java.util.Map;

/**
 * A processor which adds the current content of the Request.properties() to
 * the trace before calling the next processor, if traceLevel is 4 or more.
 *
 * @author  bratseth
 * @since   5.1.17
 */
public class RequestPropertyTracer extends Processor {

    @Override
    public Response process(Request request, Execution execution) {
        if (execution.trace().getTraceLevel()<4) return execution.process(request);

        StringBuilder b = new StringBuilder("{");
        for (Map.Entry property : request.properties().listProperties().entrySet())
            b.append(property.getKey()).append(": '").append(property.getValue()).append("',");
        b.setLength(b.length()-1); // remove last comma
        b.append("}");
        execution.trace().trace(b.toString(),4);
        return execution.process(request);
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy