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

org.zalando.logbook.BodyReplacers Maven / Gradle / Ivy

There is a newer version: 1.9.0
Show newest version
package org.zalando.logbook;

import java.util.function.Predicate;

import static org.zalando.logbook.Conditions.contentType;

public final class BodyReplacers {

    BodyReplacers() {
        // package private so we can trick code coverage
    }

    public static  BodyReplacer defaultValue() {
        return BodyReplacer.compound(binary(), multipart(), stream());
    }

    public static  BodyReplacer binary() {
        final Predicate contentTypes = contentType(
                "application/octet-stream", "application/pdf", "audio/*", "image/*", "video/*");
        return replaceBody(contentTypes, "");
    }

    public static  BodyReplacer multipart() {
        return replaceBody(contentType("multipart/*"), "");
    }

    public static  BodyReplacer stream() {
        final Predicate contentTypes = contentType("application/json-seq", "application/x-json-stream");
        return replaceBody(contentTypes, "");
    }

    public static  BodyReplacer replaceBody(final Predicate predicate,
            final String replacement) {
        return message -> predicate.test(message) ? replacement : null;
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy