import java.io.OutputStreamWriter;
import java.io.Writer;
-public class HttpPOSTRequest
- extends HttpRequest
+public class HttpPOSTRequest extends HttpRequest
{
- boolean multipart_ = false;
- static final String separator_ =
- "----MultiPartFormData--MultiPartFormData--MultiPartFormData----";
-
- public HttpPOSTRequest(String url)
- {
- super(url, "POST");
- setContentType("application/x-www-form-urlencoded; charset=utf-8");
- }
-
- public HttpPOSTRequest setMultipart(boolean flag)
- {
- multipart_ = flag;
- if (multipart_) {
- setContentType("multipart/form-data; boundary=" + separator_);
- try {
- OutputStream body = body();
- body.write("--".getBytes());
- body.write(separator_.getBytes());
- body.write("\r\n".getBytes());
- }
- catch (IOException e) {
- throw new AssertionError("ByteArrayOutputStream throwing IOExcpetion");
- }
- }
- return this;
- }
-
- @Override
- public HttpRequest addParameter(String name, byte[] value, String encoding)
- {
- try {
- if (multipart_) {
- OutputStream body = body();
- body.write("Content-Disposition: form-data; name=\"".getBytes());
- body.write(name.getBytes());
- body.write("\"\r\n".getBytes());
- body.write("Content-Type: text/plain; charset=".getBytes());
- body.write(encoding.getBytes());
- body.write("\r\n".getBytes());
- body.write(("Content-Length: " + value.length).getBytes());
- body.write("\r\n\r\n".getBytes());
- body.write(value);
- body.write("\r\n--".getBytes());
- body.write(separator_.getBytes());
- body.write("\r\n".getBytes());
- }
- else {
- // Encoding not really relevant here since url-encoding is plain ASCII
- Writer writer = new OutputStreamWriter(body(),"ascii");
- appendParameter(writer, body().size() == 0, name, value);
- writer.flush();
- }
- }
- catch (IOException e) {
- throw new AssertionError("ByteArrayOutputStream throwing IOExcpetion");
- }
- return this;
- }
+ boolean multipart_ = false;
+ static final String separator_ = "----MultiPartFormData--MultiPartFormData--MultiPartFormData----";
+
+ public HttpPOSTRequest(String url)
+ {
+ super(url, "POST");
+ setContentType("application/x-www-form-urlencoded; charset=utf-8");
+ }
+
+ public HttpPOSTRequest setMultipart(boolean flag)
+ {
+ multipart_ = flag;
+ if (multipart_) {
+ setContentType("multipart/form-data; boundary=" + separator_);
+ try {
+ OutputStream body = body();
+ body.write("--".getBytes());
+ body.write(separator_.getBytes());
+ body.write("\r\n".getBytes());
+ }
+ catch (IOException e) {
+ throw new AssertionError(
+ "ByteArrayOutputStream throwing IOExcpetion");
+ }
+ }
+ return this;
+ }
+
+ @Override
+ public HttpRequest addParameter(String name, byte[] value, String encoding)
+ {
+ try {
+ if (multipart_) {
+ OutputStream body = body();
+ body.write("Content-Disposition: form-data; name=\"".getBytes());
+ body.write(name.getBytes());
+ body.write("\"\r\n".getBytes());
+ body.write("Content-Type: text/plain; charset=".getBytes());
+ body.write(encoding.getBytes());
+ body.write("\r\n".getBytes());
+ body.write(("Content-Length: " + value.length).getBytes());
+ body.write("\r\n\r\n".getBytes());
+ body.write(value);
+ body.write("\r\n--".getBytes());
+ body.write(separator_.getBytes());
+ body.write("\r\n".getBytes());
+ }
+ else {
+ // Encoding not really relevant here since url-encoding is plain
+ // ASCII
+ Writer writer = new OutputStreamWriter(body(), "ascii");
+ appendParameter(writer, body().size() == 0, name, value);
+ writer.flush();
+ }
+ }
+ catch (IOException e) {
+ throw new AssertionError(
+ "ByteArrayOutputStream throwing IOExcpetion");
+ }
+ return this;
+ }
}