+++ /dev/null
-package de.j32.httplib;
-
-import java.io.IOException;
-import java.io.OutputStream;
-import java.io.OutputStreamWriter;
-import java.io.Writer;
-
-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;
- }
-}