package cz.moneta.test.harness.support.rest;

import cz.moneta.test.harness.support.util.Builder;
import cz.moneta.test.harness.support.util.RequestPoll;
import cz.moneta.test.harness.support.util.Level;

import java.util.function.Function;

public interface RestRequest<B, REQ, RESP> extends Builder<B> {
    RESP send();

    RequestPoll<RESP> pollUntil(Function<RESP, Object> extractor);

    B log(String template, Function<RESP, Object>... args);

    B log(Level level, String template, Function<RESP, Object>... args);
}
