package com.github.dreamhead.moco.parser.model;
import com.fasterxml.jackson.annotation.JsonAutoDetect;
import com.github.dreamhead.moco.ResponseHandler;
import com.github.dreamhead.moco.parser.ResponseHandlerFactory;
import com.google.common.base.MoreObjects;
import java.util.Map;
@JsonAutoDetect(fieldVisibility = JsonAutoDetect.Visibility.ANY)
public class ResponseSetting extends BaseResourceSetting {
private final ResponseHandlerFactory factory = new DynamicResponseHandlerFactory();
private String status;
private ProxyContainer proxy;
private Map<String, TextContainer> headers;
private Map<String, CookieContainer> cookies;
private LatencyContainer latency;
private TextContainer version;
private AttachmentSetting attachment;
public ResponseSetting asResponseSetting() {
ResponseSetting responseSetting = new ResponseSetting();
responseSetting.text = text;
responseSetting.file = file;
responseSetting.pathResource = pathResource;
responseSetting.status = status;
responseSetting.proxy = proxy;
responseSetting.headers = headers;
responseSetting.cookies = cookies;
responseSetting.latency = latency;
responseSetting.version = version;
responseSetting.json = json;
responseSetting.attachment = attachment;
return responseSetting;
}
@Override
public String toString() {
return MoreObjects.toStringHelper(this)
.omitNullValues()
.add("text", text)
.add("file", file)
.add("version", version)
.add("status", status)
.add("headers", headers)
.add("cookies", cookies)
.add("proxy", proxy)
.add("latency", latency)
.add("path resource", pathResource)
.add("json", json)
.add("attachment", attachment)
.toString();
}
public ResponseHandler getResponseHandler() {
return factory.createResponseHandler(this);
}
}