
hope.kola.contract.restassured.EncoderConfigBuilder Maven / Gradle / Ivy
package hope.kola.contract.restassured;
import io.restassured.config.EncoderConfig;
import java.nio.charset.Charset;
import java.nio.charset.StandardCharsets;
import java.util.HashMap;
import java.util.Map;
public class EncoderConfigBuilder
extends AbstractCoderConfigBuilder {
protected String defaultQueryParameterCharset;
protected Boolean shouldAppendDefaultContentCharsetToContentTypeIfUndefined;
@Override
public EncoderConfig transform() {
EncoderConfig res = new EncoderConfig();
if (defaultContentCharset != null) {
res.defaultCharsetForContentType(defaultContentCharset);
}
if (defaultQueryParameterCharset != null) {
res = res.defaultQueryParameterCharset(defaultQueryParameterCharset);
}
if (shouldAppendDefaultContentCharsetToContentTypeIfUndefined != null) {
res =
res.appendDefaultContentCharsetToContentTypeIfUndefined(
shouldAppendDefaultContentCharsetToContentTypeIfUndefined);
}
if (contentTypeToDefaultCharset != null && !contentTypeToDefaultCharset.isEmpty()) {
for (Map.Entry row : contentTypeToDefaultCharset.entrySet()) {
res = res.defaultCharsetForContentType(row.getKey(), row.getValue());
}
}
return res;
}
@Override
public EncoderConfigBuilder merger(EncoderConfigBuilder from) {
EncoderConfigBuilder res = new EncoderConfigBuilder();
res.defaultContentCharset = defaultContentCharset;
res.defaultQueryParameterCharset = defaultQueryParameterCharset;
res.shouldAppendDefaultContentCharsetToContentTypeIfUndefined =
shouldAppendDefaultContentCharsetToContentTypeIfUndefined;
res.contentTypeToDefaultCharset = new HashMap<>(contentTypeToDefaultCharset);
if (from.defaultContentCharset != null) {
res.defaultContentCharset = from.defaultContentCharset;
}
if (from.defaultQueryParameterCharset != null) {
res.defaultQueryParameterCharset = from.defaultQueryParameterCharset;
}
if (from.shouldAppendDefaultContentCharsetToContentTypeIfUndefined != null) {
res.shouldAppendDefaultContentCharsetToContentTypeIfUndefined =
from.shouldAppendDefaultContentCharsetToContentTypeIfUndefined;
}
if (from.contentTypeToDefaultCharset != null) {
res.contentTypeToDefaultCharset.putAll(from.contentTypeToDefaultCharset);
}
return res;
}
public void defaultQueryParameterCharset(String defaultQueryParameterCharset) {
this.defaultQueryParameterCharset = defaultQueryParameterCharset;
}
public void defaultQueryParameterCharsetUTF8() {
this.defaultQueryParameterCharset = StandardCharsets.UTF_8.name();
}
public void defaultQueryParameterCharset(Charset defaultQueryParameterCharset) {
this.defaultQueryParameterCharset = defaultQueryParameterCharset.name();
}
public void shouldAppendDefaultContentCharsetToContentTypeIfUndefined() {
this.shouldAppendDefaultContentCharsetToContentTypeIfUndefined = true;
}
public void shouldNotAppendDefaultContentCharsetToContentTypeIfUndefined() {
this.shouldAppendDefaultContentCharsetToContentTypeIfUndefined = false;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy