package com.xebialabs.restito.support.log;
import java.util.List;
import java.util.Map;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.xebialabs.restito.semantics.Call;
import com.xebialabs.restito.server.StubServer;
public class CallsHelper {
private static Logger log = LoggerFactory.getLogger(StubServer.class);
public static void logCalls(List<Call> calls) {
log.info(String.format("There are %s entries recorded: ", calls.size()));
for (Call call : calls) {
logCall(call);
}
}
public static void logCall(Call call) {
log.info("{} Request to URL: {} of type {}", va(call.getMethod(), call.getUrl(), call.getContentType()));
for (Map.Entry<String, String> e : call.getHeaders().entrySet()) {
log.info(" --> Header [{}] with value: [{}]", e.getKey(), e.getValue());
}
for (Map.Entry<String, String[]> e : call.getParameters().entrySet()) {
log.info(" --> Parameter [{}] with value(s): ", e.getKey());
for (String v : e.getValue()) {
log.info(" -> [{}]", v);
}
}
// Prevents IntelliJ from crash :-)
if (call.getContentType() == null || !call.getContentType().startsWith("multipart/form-data")) {
log.info(" --> Body: ");
log.info(call.getPostBody());
}
}
private static Object[] va(Object... args) {
return args;
}
}