package au.com.dius.pact.provider.groovysupport;
import org.apache.http.HttpRequest;
import java.util.function.BiFunction;
import java.util.function.Consumer;
import java.util.function.Function;
import java.util.function.Supplier;
public class GroovyJavaUtils {
private static final String WAS_CALLED = "was called";
private static final String JAVA_FUNCTION = "Java Function";
private GroovyJavaUtils() {}
public static Consumer<HttpRequest> consumerRequestFilter() {
return request -> request.addHeader("Java Consumer", WAS_CALLED);
}
public static Function<HttpRequest, HttpRequest> functionRequestFilter() {
return request -> {
request.addHeader(JAVA_FUNCTION, WAS_CALLED);
return request;
};
}
public static BiFunction<HttpRequest, Object, HttpRequest> function2RequestFilter() {
return (request, other) -> {
request.addHeader(JAVA_FUNCTION, WAS_CALLED);
return request;
};
}
public static BiFunction<Object, HttpRequest, HttpRequest> function2RequestFilterWithParametersSwapped() {
return (other, request) -> {
request.addHeader(JAVA_FUNCTION, WAS_CALLED);
return request;
};
}
public static BiFunction<Boolean, Long, Object> invalidFunction2RequestFilter() {
return (p1, p2) -> { return null; };
}
public static Supplier<HttpRequest> supplierRequestFilter() {
return () -> { return null; };
}
}