package com.vtence.molecule.testing.http; import com.vtence.molecule.http.ContentType; import java.io.IOException; import java.io.OutputStream; import java.nio.charset.Charset; import java.nio.charset.StandardCharsets; public class TextContent implements HttpContent { private final String text; private final String contentType; public TextContent(String text, String contentType) { this.text = text; this.contentType = contentType; } @Override public long contentLength() { return content().length; } public String contentType() { return contentType; } private byte[] content() { return text.getBytes(charset()); } @Override public void writeTo(OutputStream out) throws IOException { out.write(content()); } private Charset charset() { ContentType contentType = ContentType.parse(contentType()); if (contentType == null || contentType.charset() == null) return StandardCharsets.ISO_8859_1; return contentType.charset(); } }