summaryrefslogtreecommitdiffstats
path: root/mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity
diff options
context:
space:
mode:
Diffstat (limited to 'mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity')
-rw-r--r--mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/AbstractHttpEntity.java191
-rw-r--r--mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/BasicHttpEntity.java125
-rw-r--r--mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/BufferedHttpEntity.java125
-rw-r--r--mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/ByteArrayEntity.java131
-rw-r--r--mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/ContentLengthStrategy.java57
-rw-r--r--mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/ContentProducer.java44
-rw-r--r--mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/ContentType.java305
-rw-r--r--mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/EntityTemplate.java76
-rw-r--r--mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/FileEntity.java121
-rw-r--r--mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/HttpEntityWrapper.java105
-rw-r--r--mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/InputStreamEntity.java155
-rw-r--r--mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/SerializableEntity.java126
-rw-r--r--mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/StringEntity.java188
-rw-r--r--mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/mime/AbstractMultipartForm.java211
-rw-r--r--mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/mime/FormBodyPart.java116
-rw-r--r--mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/mime/Header.java144
-rw-r--r--mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/mime/HttpBrowserCompatibleMultipart.java79
-rw-r--r--mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/mime/HttpMultipartMode.java43
-rw-r--r--mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/mime/HttpRFC6532Multipart.java72
-rw-r--r--mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/mime/HttpStrictMultipart.java72
-rw-r--r--mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/mime/MIME.java53
-rw-r--r--mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/mime/MinimalField.java63
-rw-r--r--mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/mime/MultipartEntityBuilder.java207
-rw-r--r--mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/mime/MultipartFormEntity.java100
-rw-r--r--mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/mime/content/AbstractContentBody.java96
-rw-r--r--mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/mime/content/ByteArrayBody.java111
-rw-r--r--mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/mime/content/ContentBody.java43
-rw-r--r--mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/mime/content/ContentDescriptor.java89
-rw-r--r--mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/mime/content/FileBody.java144
-rw-r--r--mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/mime/content/InputStreamBody.java112
-rw-r--r--mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/mime/content/StringBody.java197
-rw-r--r--mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/mime/content/package-info.java31
-rw-r--r--mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/mime/package-info.java31
-rw-r--r--mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/package-info.java31
34 files changed, 0 insertions, 3794 deletions
diff --git a/mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/AbstractHttpEntity.java b/mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/AbstractHttpEntity.java
deleted file mode 100644
index 9fc32fa29..000000000
--- a/mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/AbstractHttpEntity.java
+++ /dev/null
@@ -1,191 +0,0 @@
-/*
- * ====================================================================
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation. For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- *
- */
-
-package ch.boye.httpclientandroidlib.entity;
-
-import java.io.IOException;
-
-import ch.boye.httpclientandroidlib.Header;
-import ch.boye.httpclientandroidlib.HttpEntity;
-import ch.boye.httpclientandroidlib.annotation.NotThreadSafe;
-import ch.boye.httpclientandroidlib.message.BasicHeader;
-import ch.boye.httpclientandroidlib.protocol.HTTP;
-
-/**
- * Abstract base class for entities.
- * Provides the commonly used attributes for streamed and self-contained
- * implementations of {@link HttpEntity HttpEntity}.
- *
- * @since 4.0
- */
-@NotThreadSafe
-public abstract class AbstractHttpEntity implements HttpEntity {
-
- /**
- * Buffer size for output stream processing.
- *
- * @since 4.3
- */
- protected static final int OUTPUT_BUFFER_SIZE = 4096;
-
- protected Header contentType;
- protected Header contentEncoding;
- protected boolean chunked;
-
- /**
- * Protected default constructor.
- * The contentType, contentEncoding and chunked attributes of the created object are set to
- * <code>null</code>, <code>null</code> and <code>false</code>, respectively.
- */
- protected AbstractHttpEntity() {
- super();
- }
-
-
- /**
- * Obtains the Content-Type header.
- * The default implementation returns the value of the
- * {@link #contentType contentType} attribute.
- *
- * @return the Content-Type header, or <code>null</code>
- */
- public Header getContentType() {
- return this.contentType;
- }
-
-
- /**
- * Obtains the Content-Encoding header.
- * The default implementation returns the value of the
- * {@link #contentEncoding contentEncoding} attribute.
- *
- * @return the Content-Encoding header, or <code>null</code>
- */
- public Header getContentEncoding() {
- return this.contentEncoding;
- }
-
- /**
- * Obtains the 'chunked' flag.
- * The default implementation returns the value of the
- * {@link #chunked chunked} attribute.
- *
- * @return the 'chunked' flag
- */
- public boolean isChunked() {
- return this.chunked;
- }
-
-
- /**
- * Specifies the Content-Type header.
- * The default implementation sets the value of the
- * {@link #contentType contentType} attribute.
- *
- * @param contentType the new Content-Encoding header, or
- * <code>null</code> to unset
- */
- public void setContentType(final Header contentType) {
- this.contentType = contentType;
- }
-
- /**
- * Specifies the Content-Type header, as a string.
- * The default implementation calls
- * {@link #setContentType(Header) setContentType(Header)}.
- *
- * @param ctString the new Content-Type header, or
- * <code>null</code> to unset
- */
- public void setContentType(final String ctString) {
- Header h = null;
- if (ctString != null) {
- h = new BasicHeader(HTTP.CONTENT_TYPE, ctString);
- }
- setContentType(h);
- }
-
-
- /**
- * Specifies the Content-Encoding header.
- * The default implementation sets the value of the
- * {@link #contentEncoding contentEncoding} attribute.
- *
- * @param contentEncoding the new Content-Encoding header, or
- * <code>null</code> to unset
- */
- public void setContentEncoding(final Header contentEncoding) {
- this.contentEncoding = contentEncoding;
- }
-
- /**
- * Specifies the Content-Encoding header, as a string.
- * The default implementation calls
- * {@link #setContentEncoding(Header) setContentEncoding(Header)}.
- *
- * @param ceString the new Content-Encoding header, or
- * <code>null</code> to unset
- */
- public void setContentEncoding(final String ceString) {
- Header h = null;
- if (ceString != null) {
- h = new BasicHeader(HTTP.CONTENT_ENCODING, ceString);
- }
- setContentEncoding(h);
- }
-
-
- /**
- * Specifies the 'chunked' flag.
- * <p>
- * Note that the chunked setting is a hint only.
- * If using HTTP/1.0, chunking is never performed.
- * Otherwise, even if chunked is false, HttpClient must
- * use chunk coding if the entity content length is
- * unknown (-1).
- * <p>
- * The default implementation sets the value of the
- * {@link #chunked chunked} attribute.
- *
- * @param b the new 'chunked' flag
- */
- public void setChunked(final boolean b) {
- this.chunked = b;
- }
-
-
- /**
- * The default implementation does not consume anything.
- *
- * @deprecated (4.1) Either use {@link #getContent()} and call {@link java.io.InputStream#close()} on that;
- * otherwise call {@link #writeTo(java.io.OutputStream)} which is required to free the resources.
- */
- @Deprecated
- public void consumeContent() throws IOException {
- }
-
-}
diff --git a/mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/BasicHttpEntity.java b/mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/BasicHttpEntity.java
deleted file mode 100644
index 74a281b2a..000000000
--- a/mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/BasicHttpEntity.java
+++ /dev/null
@@ -1,125 +0,0 @@
-/*
- * ====================================================================
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation. For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- *
- */
-
-package ch.boye.httpclientandroidlib.entity;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-
-import ch.boye.httpclientandroidlib.annotation.NotThreadSafe;
-import ch.boye.httpclientandroidlib.util.Args;
-import ch.boye.httpclientandroidlib.util.Asserts;
-
-/**
- * A generic streamed, non-repeatable entity that obtains its content
- * from an {@link InputStream}.
- *
- * @since 4.0
- */
-@NotThreadSafe
-public class BasicHttpEntity extends AbstractHttpEntity {
-
- private InputStream content;
- private long length;
-
- /**
- * Creates a new basic entity.
- * The content is initially missing, the content length
- * is set to a negative number.
- */
- public BasicHttpEntity() {
- super();
- this.length = -1;
- }
-
- public long getContentLength() {
- return this.length;
- }
-
- /**
- * Obtains the content, once only.
- *
- * @return the content, if this is the first call to this method
- * since {@link #setContent setContent} has been called
- *
- * @throws IllegalStateException
- * if the content has not been provided
- */
- public InputStream getContent() throws IllegalStateException {
- Asserts.check(this.content != null, "Content has not been provided");
- return this.content;
- }
-
- /**
- * Tells that this entity is not repeatable.
- *
- * @return <code>false</code>
- */
- public boolean isRepeatable() {
- return false;
- }
-
- /**
- * Specifies the length of the content.
- *
- * @param len the number of bytes in the content, or
- * a negative number to indicate an unknown length
- */
- public void setContentLength(final long len) {
- this.length = len;
- }
-
- /**
- * Specifies the content.
- *
- * @param instream the stream to return with the next call to
- * {@link #getContent getContent}
- */
- public void setContent(final InputStream instream) {
- this.content = instream;
- }
-
- public void writeTo(final OutputStream outstream) throws IOException {
- Args.notNull(outstream, "Output stream");
- final InputStream instream = getContent();
- try {
- int l;
- final byte[] tmp = new byte[OUTPUT_BUFFER_SIZE];
- while ((l = instream.read(tmp)) != -1) {
- outstream.write(tmp, 0, l);
- }
- } finally {
- instream.close();
- }
- }
-
- public boolean isStreaming() {
- return this.content != null;
- }
-
-}
diff --git a/mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/BufferedHttpEntity.java b/mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/BufferedHttpEntity.java
deleted file mode 100644
index 6cb7495d7..000000000
--- a/mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/BufferedHttpEntity.java
+++ /dev/null
@@ -1,125 +0,0 @@
-/*
- * ====================================================================
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation. For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- *
- */
-
-package ch.boye.httpclientandroidlib.entity;
-
-import java.io.ByteArrayInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-
-import ch.boye.httpclientandroidlib.HttpEntity;
-import ch.boye.httpclientandroidlib.annotation.NotThreadSafe;
-import ch.boye.httpclientandroidlib.util.Args;
-import ch.boye.httpclientandroidlib.util.EntityUtils;
-
-/**
- * A wrapping entity that buffers it content if necessary.
- * The buffered entity is always repeatable.
- * If the wrapped entity is repeatable itself, calls are passed through.
- * If the wrapped entity is not repeatable, the content is read into a
- * buffer once and provided from there as often as required.
- *
- * @since 4.0
- */
-@NotThreadSafe
-public class BufferedHttpEntity extends HttpEntityWrapper {
-
- private final byte[] buffer;
-
- /**
- * Creates a new buffered entity wrapper.
- *
- * @param entity the entity to wrap, not null
- * @throws IllegalArgumentException if wrapped is null
- */
- public BufferedHttpEntity(final HttpEntity entity) throws IOException {
- super(entity);
- if (!entity.isRepeatable() || entity.getContentLength() < 0) {
- this.buffer = EntityUtils.toByteArray(entity);
- } else {
- this.buffer = null;
- }
- }
-
- @Override
- public long getContentLength() {
- if (this.buffer != null) {
- return this.buffer.length;
- } else {
- return super.getContentLength();
- }
- }
-
- @Override
- public InputStream getContent() throws IOException {
- if (this.buffer != null) {
- return new ByteArrayInputStream(this.buffer);
- } else {
- return super.getContent();
- }
- }
-
- /**
- * Tells that this entity does not have to be chunked.
- *
- * @return <code>false</code>
- */
- @Override
- public boolean isChunked() {
- return (buffer == null) && super.isChunked();
- }
-
- /**
- * Tells that this entity is repeatable.
- *
- * @return <code>true</code>
- */
- @Override
- public boolean isRepeatable() {
- return true;
- }
-
-
- @Override
- public void writeTo(final OutputStream outstream) throws IOException {
- Args.notNull(outstream, "Output stream");
- if (this.buffer != null) {
- outstream.write(this.buffer);
- } else {
- super.writeTo(outstream);
- }
- }
-
-
- // non-javadoc, see interface HttpEntity
- @Override
- public boolean isStreaming() {
- return (buffer == null) && super.isStreaming();
- }
-
-} // class BufferedHttpEntity
diff --git a/mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/ByteArrayEntity.java b/mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/ByteArrayEntity.java
deleted file mode 100644
index 9f0af3ab8..000000000
--- a/mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/ByteArrayEntity.java
+++ /dev/null
@@ -1,131 +0,0 @@
-/*
- * ====================================================================
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation. For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- *
- */
-
-package ch.boye.httpclientandroidlib.entity;
-
-import java.io.ByteArrayInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-
-import ch.boye.httpclientandroidlib.annotation.NotThreadSafe;
-import ch.boye.httpclientandroidlib.util.Args;
-
-/**
- * A self contained, repeatable entity that obtains its content from a byte array.
- *
- * @since 4.0
- */
-@NotThreadSafe
-public class ByteArrayEntity extends AbstractHttpEntity implements Cloneable {
-
- /**
- * @deprecated (4.2)
- */
- @Deprecated
- protected final byte[] content;
- private final byte[] b;
- private final int off, len;
-
- /**
- * @since 4.2
- */
- @SuppressWarnings("deprecation")
- public ByteArrayEntity(final byte[] b, final ContentType contentType) {
- super();
- Args.notNull(b, "Source byte array");
- this.content = b;
- this.b = b;
- this.off = 0;
- this.len = this.b.length;
- if (contentType != null) {
- setContentType(contentType.toString());
- }
- }
-
- /**
- * @since 4.2
- */
- @SuppressWarnings("deprecation")
- public ByteArrayEntity(final byte[] b, final int off, final int len, final ContentType contentType) {
- super();
- Args.notNull(b, "Source byte array");
- if ((off < 0) || (off > b.length) || (len < 0) ||
- ((off + len) < 0) || ((off + len) > b.length)) {
- throw new IndexOutOfBoundsException("off: " + off + " len: " + len + " b.length: " + b.length);
- }
- this.content = b;
- this.b = b;
- this.off = off;
- this.len = len;
- if (contentType != null) {
- setContentType(contentType.toString());
- }
- }
-
- public ByteArrayEntity(final byte[] b) {
- this(b, null);
- }
-
- public ByteArrayEntity(final byte[] b, final int off, final int len) {
- this(b, off, len, null);
- }
-
- public boolean isRepeatable() {
- return true;
- }
-
- public long getContentLength() {
- return this.len;
- }
-
- public InputStream getContent() {
- return new ByteArrayInputStream(this.b, this.off, this.len);
- }
-
- public void writeTo(final OutputStream outstream) throws IOException {
- Args.notNull(outstream, "Output stream");
- outstream.write(this.b, this.off, this.len);
- outstream.flush();
- }
-
-
- /**
- * Tells that this entity is not streaming.
- *
- * @return <code>false</code>
- */
- public boolean isStreaming() {
- return false;
- }
-
- @Override
- public Object clone() throws CloneNotSupportedException {
- return super.clone();
- }
-
-} // class ByteArrayEntity
diff --git a/mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/ContentLengthStrategy.java b/mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/ContentLengthStrategy.java
deleted file mode 100644
index 4dbc1afaf..000000000
--- a/mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/ContentLengthStrategy.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * ====================================================================
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation. For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- *
- */
-
-package ch.boye.httpclientandroidlib.entity;
-
-import ch.boye.httpclientandroidlib.HttpException;
-import ch.boye.httpclientandroidlib.HttpMessage;
-
-/**
- * Represents a strategy to determine length of the enclosed content entity
- * based on properties of the HTTP message.
- *
- * @since 4.0
- */
-public interface ContentLengthStrategy {
-
- public static final int IDENTITY = -1;
- public static final int CHUNKED = -2;
-
- /**
- * Returns length of the given message in bytes. The returned value
- * must be a non-negative number, {@link #IDENTITY} if the end of the
- * message will be delimited by the end of connection, or {@link #CHUNKED}
- * if the message is chunk coded
- *
- * @param message HTTP message
- * @return content length, {@link #IDENTITY}, or {@link #CHUNKED}
- *
- * @throws HttpException in case of HTTP protocol violation
- */
- long determineLength(HttpMessage message) throws HttpException;
-
-}
diff --git a/mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/ContentProducer.java b/mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/ContentProducer.java
deleted file mode 100644
index 3ced2e48b..000000000
--- a/mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/ContentProducer.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * ====================================================================
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation. For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- *
- */
-
-package ch.boye.httpclientandroidlib.entity;
-
-import java.io.IOException;
-import java.io.OutputStream;
-
-/**
- * An abstract entity content producer.
- *<p>Content producers are expected to be able to produce their
- * content multiple times</p>
- *
- * @since 4.0
- */
-public interface ContentProducer {
-
- void writeTo(OutputStream outstream) throws IOException;
-
-}
diff --git a/mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/ContentType.java b/mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/ContentType.java
deleted file mode 100644
index e486b83b3..000000000
--- a/mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/ContentType.java
+++ /dev/null
@@ -1,305 +0,0 @@
-/*
- * ====================================================================
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation. For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- *
- */
-
-package ch.boye.httpclientandroidlib.entity;
-
-import java.io.Serializable;
-import java.nio.charset.Charset;
-import java.nio.charset.UnsupportedCharsetException;
-import java.util.Locale;
-
-import ch.boye.httpclientandroidlib.Consts;
-import ch.boye.httpclientandroidlib.Header;
-import ch.boye.httpclientandroidlib.HeaderElement;
-import ch.boye.httpclientandroidlib.HttpEntity;
-import ch.boye.httpclientandroidlib.NameValuePair;
-import ch.boye.httpclientandroidlib.ParseException;
-import ch.boye.httpclientandroidlib.annotation.Immutable;
-import ch.boye.httpclientandroidlib.message.BasicHeaderValueFormatter;
-import ch.boye.httpclientandroidlib.message.BasicHeaderValueParser;
-import ch.boye.httpclientandroidlib.message.ParserCursor;
-import ch.boye.httpclientandroidlib.util.Args;
-import ch.boye.httpclientandroidlib.util.CharArrayBuffer;
-import ch.boye.httpclientandroidlib.util.TextUtils;
-
-/**
- * Content type information consisting of a MIME type and an optional charset.
- * <p/>
- * This class makes no attempts to verify validity of the MIME type.
- * The input parameters of the {@link #create(String, String)} method, however, may not
- * contain characters <">, <;>, <,> reserved by the HTTP specification.
- *
- * @since 4.2
- */
-@Immutable
-public final class ContentType implements Serializable {
-
- private static final long serialVersionUID = -7768694718232371896L;
-
- // constants
- public static final ContentType APPLICATION_ATOM_XML = create(
- "application/atom+xml", Consts.ISO_8859_1);
- public static final ContentType APPLICATION_FORM_URLENCODED = create(
- "application/x-www-form-urlencoded", Consts.ISO_8859_1);
- public static final ContentType APPLICATION_JSON = create(
- "application/json", Consts.UTF_8);
- public static final ContentType APPLICATION_OCTET_STREAM = create(
- "application/octet-stream", (Charset) null);
- public static final ContentType APPLICATION_SVG_XML = create(
- "application/svg+xml", Consts.ISO_8859_1);
- public static final ContentType APPLICATION_XHTML_XML = create(
- "application/xhtml+xml", Consts.ISO_8859_1);
- public static final ContentType APPLICATION_XML = create(
- "application/xml", Consts.ISO_8859_1);
- public static final ContentType MULTIPART_FORM_DATA = create(
- "multipart/form-data", Consts.ISO_8859_1);
- public static final ContentType TEXT_HTML = create(
- "text/html", Consts.ISO_8859_1);
- public static final ContentType TEXT_PLAIN = create(
- "text/plain", Consts.ISO_8859_1);
- public static final ContentType TEXT_XML = create(
- "text/xml", Consts.ISO_8859_1);
- public static final ContentType WILDCARD = create(
- "*/*", (Charset) null);
-
- // defaults
- public static final ContentType DEFAULT_TEXT = TEXT_PLAIN;
- public static final ContentType DEFAULT_BINARY = APPLICATION_OCTET_STREAM;
-
- private final String mimeType;
- private final Charset charset;
- private final NameValuePair[] params;
-
- ContentType(
- final String mimeType,
- final Charset charset) {
- this.mimeType = mimeType;
- this.charset = charset;
- this.params = null;
- }
-
- ContentType(
- final String mimeType,
- final NameValuePair[] params) throws UnsupportedCharsetException {
- this.mimeType = mimeType;
- this.params = params;
- final String s = getParameter("charset");
- this.charset = !TextUtils.isBlank(s) ? Charset.forName(s) : null;
- }
-
- public String getMimeType() {
- return this.mimeType;
- }
-
- public Charset getCharset() {
- return this.charset;
- }
-
- /**
- * @since 4.3
- */
- public String getParameter(final String name) {
- Args.notEmpty(name, "Parameter name");
- if (this.params == null) {
- return null;
- }
- for (final NameValuePair param: this.params) {
- if (param.getName().equalsIgnoreCase(name)) {
- return param.getValue();
- }
- }
- return null;
- }
-
- /**
- * Generates textual representation of this content type which can be used as the value
- * of a <code>Content-Type</code> header.
- */
- @Override
- public String toString() {
- final CharArrayBuffer buf = new CharArrayBuffer(64);
- buf.append(this.mimeType);
- if (this.params != null) {
- buf.append("; ");
- BasicHeaderValueFormatter.INSTANCE.formatParameters(buf, this.params, false);
- } else if (this.charset != null) {
- buf.append("; charset=");
- buf.append(this.charset.name());
- }
- return buf.toString();
- }
-
- private static boolean valid(final String s) {
- for (int i = 0; i < s.length(); i++) {
- final char ch = s.charAt(i);
- if (ch == '"' || ch == ',' || ch == ';') {
- return false;
- }
- }
- return true;
- }
-
- /**
- * Creates a new instance of {@link ContentType}.
- *
- * @param mimeType MIME type. It may not be <code>null</code> or empty. It may not contain
- * characters <">, <;>, <,> reserved by the HTTP specification.
- * @param charset charset.
- * @return content type
- */
- public static ContentType create(final String mimeType, final Charset charset) {
- final String type = Args.notBlank(mimeType, "MIME type").toLowerCase(Locale.US);
- Args.check(valid(type), "MIME type may not contain reserved characters");
- return new ContentType(type, charset);
- }
-
- /**
- * Creates a new instance of {@link ContentType} without a charset.
- *
- * @param mimeType MIME type. It may not be <code>null</code> or empty. It may not contain
- * characters <">, <;>, <,> reserved by the HTTP specification.
- * @return content type
- */
- public static ContentType create(final String mimeType) {
- return new ContentType(mimeType, (Charset) null);
- }
-
- /**
- * Creates a new instance of {@link ContentType}.
- *
- * @param mimeType MIME type. It may not be <code>null</code> or empty. It may not contain
- * characters <">, <;>, <,> reserved by the HTTP specification.
- * @param charset charset. It may not contain characters <">, <;>, <,> reserved by the HTTP
- * specification. This parameter is optional.
- * @return content type
- * @throws UnsupportedCharsetException Thrown when the named charset is not available in
- * this instance of the Java virtual machine
- */
- public static ContentType create(
- final String mimeType, final String charset) throws UnsupportedCharsetException {
- return create(mimeType, !TextUtils.isBlank(charset) ? Charset.forName(charset) : null);
- }
-
- private static ContentType create(final HeaderElement helem) {
- final String mimeType = helem.getName();
- final NameValuePair[] params = helem.getParameters();
- return new ContentType(mimeType, params != null && params.length > 0 ? params : null);
- }
-
- /**
- * Parses textual representation of <code>Content-Type</code> value.
- *
- * @param s text
- * @return content type
- * @throws ParseException if the given text does not represent a valid
- * <code>Content-Type</code> value.
- * @throws UnsupportedCharsetException Thrown when the named charset is not available in
- * this instance of the Java virtual machine
- */
- public static ContentType parse(
- final String s) throws ParseException, UnsupportedCharsetException {
- Args.notNull(s, "Content type");
- final CharArrayBuffer buf = new CharArrayBuffer(s.length());
- buf.append(s);
- final ParserCursor cursor = new ParserCursor(0, s.length());
- final HeaderElement[] elements = BasicHeaderValueParser.INSTANCE.parseElements(buf, cursor);
- if (elements.length > 0) {
- return create(elements[0]);
- } else {
- throw new ParseException("Invalid content type: " + s);
- }
- }
-
- /**
- * Extracts <code>Content-Type</code> value from {@link HttpEntity} exactly as
- * specified by the <code>Content-Type</code> header of the entity. Returns <code>null</code>
- * if not specified.
- *
- * @param entity HTTP entity
- * @return content type
- * @throws ParseException if the given text does not represent a valid
- * <code>Content-Type</code> value.
- * @throws UnsupportedCharsetException Thrown when the named charset is not available in
- * this instance of the Java virtual machine
- */
- public static ContentType get(
- final HttpEntity entity) throws ParseException, UnsupportedCharsetException {
- if (entity == null) {
- return null;
- }
- final Header header = entity.getContentType();
- if (header != null) {
- final HeaderElement[] elements = header.getElements();
- if (elements.length > 0) {
- return create(elements[0]);
- }
- }
- return null;
- }
-
- /**
- * Extracts <code>Content-Type</code> value from {@link HttpEntity} or returns the default value
- * {@link #DEFAULT_TEXT} if not explicitly specified.
- *
- * @param entity HTTP entity
- * @return content type
- * @throws ParseException if the given text does not represent a valid
- * <code>Content-Type</code> value.
- * @throws UnsupportedCharsetException Thrown when the named charset is not available in
- * this instance of the Java virtual machine
- */
- public static ContentType getOrDefault(
- final HttpEntity entity) throws ParseException, UnsupportedCharsetException {
- final ContentType contentType = get(entity);
- return contentType != null ? contentType : DEFAULT_TEXT;
- }
-
- /**
- * Creates a new instance with this MIME type and the given Charset.
- *
- * @param charset charset
- * @return a new instance with this MIME type and the given Charset.
- * @since 4.3
- */
- public ContentType withCharset(final Charset charset) {
- return create(this.getMimeType(), charset);
- }
-
- /**
- * Creates a new instance with this MIME type and the given Charset name.
- *
- * @param charset name
- * @return a new instance with this MIME type and the given Charset name.
- * @throws UnsupportedCharsetException Thrown when the named charset is not available in
- * this instance of the Java virtual machine
- * @since 4.3
- */
- public ContentType withCharset(final String charset) {
- return create(this.getMimeType(), charset);
- }
-
-}
diff --git a/mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/EntityTemplate.java b/mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/EntityTemplate.java
deleted file mode 100644
index 8e5a79431..000000000
--- a/mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/EntityTemplate.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * ====================================================================
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation. For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- *
- */
-
-package ch.boye.httpclientandroidlib.entity;
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-
-import ch.boye.httpclientandroidlib.util.Args;
-
-/**
- * Entity that delegates the process of content generation
- * to a {@link ContentProducer}.
- *
- * @since 4.0
- */
-public class EntityTemplate extends AbstractHttpEntity {
-
- private final ContentProducer contentproducer;
-
- public EntityTemplate(final ContentProducer contentproducer) {
- super();
- this.contentproducer = Args.notNull(contentproducer, "Content producer");
- }
-
- public long getContentLength() {
- return -1;
- }
-
- public InputStream getContent() throws IOException {
- final ByteArrayOutputStream buf = new ByteArrayOutputStream();
- writeTo(buf);
- return new ByteArrayInputStream(buf.toByteArray());
- }
-
- public boolean isRepeatable() {
- return true;
- }
-
- public void writeTo(final OutputStream outstream) throws IOException {
- Args.notNull(outstream, "Output stream");
- this.contentproducer.writeTo(outstream);
- }
-
- public boolean isStreaming() {
- return false;
- }
-
-}
diff --git a/mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/FileEntity.java b/mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/FileEntity.java
deleted file mode 100644
index 8801d3733..000000000
--- a/mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/FileEntity.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*
- * ====================================================================
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation. For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- *
- */
-
-package ch.boye.httpclientandroidlib.entity;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-
-import ch.boye.httpclientandroidlib.annotation.NotThreadSafe;
-import ch.boye.httpclientandroidlib.util.Args;
-
-/**
- * A self contained, repeatable entity that obtains its content from a file.
- *
- * @since 4.0
- */
-@NotThreadSafe
-public class FileEntity extends AbstractHttpEntity implements Cloneable {
-
- protected final File file;
-
- /**
- * @deprecated (4.1.3) {@link #FileEntity(File, ContentType)}
- */
- @Deprecated
- public FileEntity(final File file, final String contentType) {
- super();
- this.file = Args.notNull(file, "File");
- setContentType(contentType);
- }
-
- /**
- * @since 4.2
- */
- public FileEntity(final File file, final ContentType contentType) {
- super();
- this.file = Args.notNull(file, "File");
- if (contentType != null) {
- setContentType(contentType.toString());
- }
- }
-
- /**
- * @since 4.2
- */
- public FileEntity(final File file) {
- super();
- this.file = Args.notNull(file, "File");
- }
-
- public boolean isRepeatable() {
- return true;
- }
-
- public long getContentLength() {
- return this.file.length();
- }
-
- public InputStream getContent() throws IOException {
- return new FileInputStream(this.file);
- }
-
- public void writeTo(final OutputStream outstream) throws IOException {
- Args.notNull(outstream, "Output stream");
- final InputStream instream = new FileInputStream(this.file);
- try {
- final byte[] tmp = new byte[OUTPUT_BUFFER_SIZE];
- int l;
- while ((l = instream.read(tmp)) != -1) {
- outstream.write(tmp, 0, l);
- }
- outstream.flush();
- } finally {
- instream.close();
- }
- }
-
- /**
- * Tells that this entity is not streaming.
- *
- * @return <code>false</code>
- */
- public boolean isStreaming() {
- return false;
- }
-
- @Override
- public Object clone() throws CloneNotSupportedException {
- // File instance is considered immutable
- // No need to make a copy of it
- return super.clone();
- }
-
-} // class FileEntity
diff --git a/mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/HttpEntityWrapper.java b/mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/HttpEntityWrapper.java
deleted file mode 100644
index 77b1245f4..000000000
--- a/mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/HttpEntityWrapper.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- * ====================================================================
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation. For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- *
- */
-
-package ch.boye.httpclientandroidlib.entity;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-
-import ch.boye.httpclientandroidlib.Header;
-import ch.boye.httpclientandroidlib.HttpEntity;
-import ch.boye.httpclientandroidlib.annotation.NotThreadSafe;
-import ch.boye.httpclientandroidlib.util.Args;
-
-/**
- * Base class for wrapping entities.
- * Keeps a {@link #wrappedEntity wrappedEntity} and delegates all
- * calls to it. Implementations of wrapping entities can derive
- * from this class and need to override only those methods that
- * should not be delegated to the wrapped entity.
- *
- * @since 4.0
- */
-@NotThreadSafe
-public class HttpEntityWrapper implements HttpEntity {
-
- /** The wrapped entity. */
- protected HttpEntity wrappedEntity;
-
- /**
- * Creates a new entity wrapper.
- */
- public HttpEntityWrapper(final HttpEntity wrappedEntity) {
- super();
- this.wrappedEntity = Args.notNull(wrappedEntity, "Wrapped entity");
- } // constructor
-
- public boolean isRepeatable() {
- return wrappedEntity.isRepeatable();
- }
-
- public boolean isChunked() {
- return wrappedEntity.isChunked();
- }
-
- public long getContentLength() {
- return wrappedEntity.getContentLength();
- }
-
- public Header getContentType() {
- return wrappedEntity.getContentType();
- }
-
- public Header getContentEncoding() {
- return wrappedEntity.getContentEncoding();
- }
-
- public InputStream getContent()
- throws IOException {
- return wrappedEntity.getContent();
- }
-
- public void writeTo(final OutputStream outstream)
- throws IOException {
- wrappedEntity.writeTo(outstream);
- }
-
- public boolean isStreaming() {
- return wrappedEntity.isStreaming();
- }
-
- /**
- * @deprecated (4.1) Either use {@link #getContent()} and call {@link java.io.InputStream#close()} on that;
- * otherwise call {@link #writeTo(OutputStream)} which is required to free the resources.
- */
- @Deprecated
- public void consumeContent() throws IOException {
- wrappedEntity.consumeContent();
- }
-
-}
diff --git a/mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/InputStreamEntity.java b/mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/InputStreamEntity.java
deleted file mode 100644
index 8a53ef68c..000000000
--- a/mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/InputStreamEntity.java
+++ /dev/null
@@ -1,155 +0,0 @@
-/*
- * ====================================================================
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation. For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- *
- */
-
-package ch.boye.httpclientandroidlib.entity;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-
-import ch.boye.httpclientandroidlib.annotation.NotThreadSafe;
-import ch.boye.httpclientandroidlib.util.Args;
-
-/**
- * A streamed, non-repeatable entity that obtains its content from
- * an {@link InputStream}.
- *
- * @since 4.0
- */
-@NotThreadSafe
-public class InputStreamEntity extends AbstractHttpEntity {
-
- private final InputStream content;
- private final long length;
-
- /**
- * Creates an entity with an unknown length.
- * Equivalent to {@code new InputStreamEntity(instream, -1)}.
- *
- * @param instream input stream
- * @throws IllegalArgumentException if {@code instream} is {@code null}
- * @since 4.3
- */
- public InputStreamEntity(final InputStream instream) {
- this(instream, -1);
- }
-
- /**
- * Creates an entity with a specified content length.
- *
- * @param instream input stream
- * @param length of the input stream, {@code -1} if unknown
- * @throws IllegalArgumentException if {@code instream} is {@code null}
- */
- public InputStreamEntity(final InputStream instream, final long length) {
- this(instream, length, null);
- }
-
- /**
- * Creates an entity with a content type and unknown length.
- * Equivalent to {@code new InputStreamEntity(instream, -1, contentType)}.
- *
- * @param instream input stream
- * @param contentType content type
- * @throws IllegalArgumentException if {@code instream} is {@code null}
- * @since 4.3
- */
- public InputStreamEntity(final InputStream instream, final ContentType contentType) {
- this(instream, -1, contentType);
- }
-
- /**
- * @param instream input stream
- * @param length of the input stream, {@code -1} if unknown
- * @param contentType for specifying the {@code Content-Type} header, may be {@code null}
- * @throws IllegalArgumentException if {@code instream} is {@code null}
- * @since 4.2
- */
- public InputStreamEntity(final InputStream instream, final long length, final ContentType contentType) {
- super();
- this.content = Args.notNull(instream, "Source input stream");
- this.length = length;
- if (contentType != null) {
- setContentType(contentType.toString());
- }
- }
-
- public boolean isRepeatable() {
- return false;
- }
-
- /**
- * @return the content length or {@code -1} if unknown
- */
- public long getContentLength() {
- return this.length;
- }
-
- public InputStream getContent() throws IOException {
- return this.content;
- }
-
- /**
- * Writes bytes from the {@code InputStream} this entity was constructed
- * with to an {@code OutputStream}. The content length
- * determines how many bytes are written. If the length is unknown ({@code -1}), the
- * stream will be completely consumed (to the end of the stream).
- *
- */
- public void writeTo(final OutputStream outstream) throws IOException {
- Args.notNull(outstream, "Output stream");
- final InputStream instream = this.content;
- try {
- final byte[] buffer = new byte[OUTPUT_BUFFER_SIZE];
- int l;
- if (this.length < 0) {
- // consume until EOF
- while ((l = instream.read(buffer)) != -1) {
- outstream.write(buffer, 0, l);
- }
- } else {
- // consume no more than length
- long remaining = this.length;
- while (remaining > 0) {
- l = instream.read(buffer, 0, (int)Math.min(OUTPUT_BUFFER_SIZE, remaining));
- if (l == -1) {
- break;
- }
- outstream.write(buffer, 0, l);
- remaining -= l;
- }
- }
- } finally {
- instream.close();
- }
- }
-
- public boolean isStreaming() {
- return true;
- }
-
-}
diff --git a/mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/SerializableEntity.java b/mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/SerializableEntity.java
deleted file mode 100644
index f5e125309..000000000
--- a/mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/SerializableEntity.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/*
- * ====================================================================
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation. For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- *
- */
-
-package ch.boye.httpclientandroidlib.entity;
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.ObjectOutputStream;
-import java.io.OutputStream;
-import java.io.Serializable;
-
-import ch.boye.httpclientandroidlib.annotation.NotThreadSafe;
-import ch.boye.httpclientandroidlib.util.Args;
-
-/**
- * A streamed entity that obtains its content from a {@link Serializable}.
- * The content obtained from the {@link Serializable} instance can
- * optionally be buffered in a byte array in order to make the
- * entity self-contained and repeatable.
- *
- * @since 4.0
- */
-@NotThreadSafe
-public class SerializableEntity extends AbstractHttpEntity {
-
- private byte[] objSer;
-
- private Serializable objRef;
-
- /**
- * Creates new instance of this class.
- *
- * @param ser input
- * @param bufferize tells whether the content should be
- * stored in an internal buffer
- * @throws IOException in case of an I/O error
- */
- public SerializableEntity(final Serializable ser, final boolean bufferize) throws IOException {
- super();
- Args.notNull(ser, "Source object");
- if (bufferize) {
- createBytes(ser);
- } else {
- this.objRef = ser;
- }
- }
-
- /**
- * @since 4.3
- */
- public SerializableEntity(final Serializable ser) {
- super();
- Args.notNull(ser, "Source object");
- this.objRef = ser;
- }
-
- private void createBytes(final Serializable ser) throws IOException {
- final ByteArrayOutputStream baos = new ByteArrayOutputStream();
- final ObjectOutputStream out = new ObjectOutputStream(baos);
- out.writeObject(ser);
- out.flush();
- this.objSer = baos.toByteArray();
- }
-
- public InputStream getContent() throws IOException, IllegalStateException {
- if (this.objSer == null) {
- createBytes(this.objRef);
- }
- return new ByteArrayInputStream(this.objSer);
- }
-
- public long getContentLength() {
- if (this.objSer == null) {
- return -1;
- } else {
- return this.objSer.length;
- }
- }
-
- public boolean isRepeatable() {
- return true;
- }
-
- public boolean isStreaming() {
- return this.objSer == null;
- }
-
- public void writeTo(final OutputStream outstream) throws IOException {
- Args.notNull(outstream, "Output stream");
- if (this.objSer == null) {
- final ObjectOutputStream out = new ObjectOutputStream(outstream);
- out.writeObject(this.objRef);
- out.flush();
- } else {
- outstream.write(this.objSer);
- outstream.flush();
- }
- }
-
-}
diff --git a/mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/StringEntity.java b/mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/StringEntity.java
deleted file mode 100644
index bf4889119..000000000
--- a/mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/StringEntity.java
+++ /dev/null
@@ -1,188 +0,0 @@
-/*
- * ====================================================================
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation. For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- *
- */
-
-package ch.boye.httpclientandroidlib.entity;
-
-import java.io.ByteArrayInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.io.UnsupportedEncodingException;
-import java.nio.charset.Charset;
-import java.nio.charset.UnsupportedCharsetException;
-
-import ch.boye.httpclientandroidlib.annotation.NotThreadSafe;
-import ch.boye.httpclientandroidlib.protocol.HTTP;
-import ch.boye.httpclientandroidlib.util.Args;
-
-/**
- * A self contained, repeatable entity that obtains its content from
- * a {@link String}.
- *
- * @since 4.0
- */
-@NotThreadSafe
-public class StringEntity extends AbstractHttpEntity implements Cloneable {
-
- protected final byte[] content;
-
- /**
- * Creates a StringEntity with the specified content and content type.
- *
- * @param string content to be used. Not {@code null}.
- * @param contentType content type to be used. May be {@code null}, in which case the default
- * MIME type {@link ContentType#TEXT_PLAIN} is assumed.
- *
- * @throws IllegalArgumentException if the string parameter is null
- * @throws UnsupportedCharsetException Thrown when the named charset is not available in
- * this instance of the Java virtual machine
- * @since 4.2
- */
- public StringEntity(final String string, final ContentType contentType) throws UnsupportedCharsetException {
- super();
- Args.notNull(string, "Source string");
- Charset charset = contentType != null ? contentType.getCharset() : null;
- if (charset == null) {
- charset = HTTP.DEF_CONTENT_CHARSET;
- }
- try {
- this.content = string.getBytes(charset.name());
- } catch (final UnsupportedEncodingException ex) {
- // should never happen
- throw new UnsupportedCharsetException(charset.name());
- }
- if (contentType != null) {
- setContentType(contentType.toString());
- }
- }
-
- /**
- * Creates a StringEntity with the specified content, MIME type and charset
- *
- * @param string content to be used. Not {@code null}.
- * @param mimeType MIME type to be used. May be {@code null}, in which case the default
- * is {@link HTTP#PLAIN_TEXT_TYPE} i.e. "text/plain"
- * @param charset character set to be used. May be {@code null}, in which case the default
- * is {@link HTTP#DEF_CONTENT_CHARSET} i.e. "ISO-8859-1"
- * @throws UnsupportedEncodingException If the named charset is not supported.
- *
- * @since 4.1
- * @throws IllegalArgumentException if the string parameter is null
- *
- * @deprecated (4.1.3) use {@link #StringEntity(String, ContentType)}
- */
- @Deprecated
- public StringEntity(
- final String string, final String mimeType, final String charset) throws UnsupportedEncodingException {
- super();
- Args.notNull(string, "Source string");
- final String mt = mimeType != null ? mimeType : HTTP.PLAIN_TEXT_TYPE;
- final String cs = charset != null ? charset :HTTP.DEFAULT_CONTENT_CHARSET;
- this.content = string.getBytes(cs);
- setContentType(mt + HTTP.CHARSET_PARAM + cs);
- }
-
- /**
- * Creates a StringEntity with the specified content and charset. The MIME type defaults
- * to "text/plain".
- *
- * @param string content to be used. Not {@code null}.
- * @param charset character set to be used. May be {@code null}, in which case the default
- * is {@link HTTP#DEF_CONTENT_CHARSET} is assumed
- *
- * @throws IllegalArgumentException if the string parameter is null
- * @throws UnsupportedCharsetException Thrown when the named charset is not available in
- * this instance of the Java virtual machine
- */
- public StringEntity(final String string, final String charset)
- throws UnsupportedCharsetException {
- this(string, ContentType.create(ContentType.TEXT_PLAIN.getMimeType(), charset));
- }
-
- /**
- * Creates a StringEntity with the specified content and charset. The MIME type defaults
- * to "text/plain".
- *
- * @param string content to be used. Not {@code null}.
- * @param charset character set to be used. May be {@code null}, in which case the default
- * is {@link HTTP#DEF_CONTENT_CHARSET} is assumed
- *
- * @throws IllegalArgumentException if the string parameter is null
- *
- * @since 4.2
- */
- public StringEntity(final String string, final Charset charset) {
- this(string, ContentType.create(ContentType.TEXT_PLAIN.getMimeType(), charset));
- }
-
- /**
- * Creates a StringEntity with the specified content. The content type defaults to
- * {@link ContentType#TEXT_PLAIN}.
- *
- * @param string content to be used. Not {@code null}.
- *
- * @throws IllegalArgumentException if the string parameter is null
- * @throws UnsupportedEncodingException if the default HTTP charset is not supported.
- */
- public StringEntity(final String string)
- throws UnsupportedEncodingException {
- this(string, ContentType.DEFAULT_TEXT);
- }
-
- public boolean isRepeatable() {
- return true;
- }
-
- public long getContentLength() {
- return this.content.length;
- }
-
- public InputStream getContent() throws IOException {
- return new ByteArrayInputStream(this.content);
- }
-
- public void writeTo(final OutputStream outstream) throws IOException {
- Args.notNull(outstream, "Output stream");
- outstream.write(this.content);
- outstream.flush();
- }
-
- /**
- * Tells that this entity is not streaming.
- *
- * @return <code>false</code>
- */
- public boolean isStreaming() {
- return false;
- }
-
- @Override
- public Object clone() throws CloneNotSupportedException {
- return super.clone();
- }
-
-} // class StringEntity
diff --git a/mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/mime/AbstractMultipartForm.java b/mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/mime/AbstractMultipartForm.java
deleted file mode 100644
index ade6bfe4b..000000000
--- a/mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/mime/AbstractMultipartForm.java
+++ /dev/null
@@ -1,211 +0,0 @@
-/*
- * ====================================================================
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation. For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- *
- */
-
-package ch.boye.httpclientandroidlib.entity.mime;
-
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.OutputStream;
-import java.nio.ByteBuffer;
-import java.nio.CharBuffer;
-import java.nio.charset.Charset;
-import java.util.List;
-
-import ch.boye.httpclientandroidlib.entity.mime.content.ContentBody;
-import ch.boye.httpclientandroidlib.util.Args;
-import ch.boye.httpclientandroidlib.util.ByteArrayBuffer;
-
-/**
- * HttpMultipart represents a collection of MIME multipart encoded content bodies. This class is
- * capable of operating either in the strict (RFC 822, RFC 2045, RFC 2046 compliant) or
- * the browser compatible modes.
- *
- * @since 4.3
- */
-abstract class AbstractMultipartForm {
-
- private static ByteArrayBuffer encode(
- final Charset charset, final String string) {
- final ByteBuffer encoded = charset.encode(CharBuffer.wrap(string));
- final ByteArrayBuffer bab = new ByteArrayBuffer(encoded.remaining());
- bab.append(encoded.array(), encoded.position(), encoded.remaining());
- return bab;
- }
-
- private static void writeBytes(
- final ByteArrayBuffer b, final OutputStream out) throws IOException {
- out.write(b.buffer(), 0, b.length());
- }
-
- private static void writeBytes(
- final String s, final Charset charset, final OutputStream out) throws IOException {
- final ByteArrayBuffer b = encode(charset, s);
- writeBytes(b, out);
- }
-
- private static void writeBytes(
- final String s, final OutputStream out) throws IOException {
- final ByteArrayBuffer b = encode(MIME.DEFAULT_CHARSET, s);
- writeBytes(b, out);
- }
-
- protected static void writeField(
- final MinimalField field, final OutputStream out) throws IOException {
- writeBytes(field.getName(), out);
- writeBytes(FIELD_SEP, out);
- writeBytes(field.getBody(), out);
- writeBytes(CR_LF, out);
- }
-
- protected static void writeField(
- final MinimalField field, final Charset charset, final OutputStream out) throws IOException {
- writeBytes(field.getName(), charset, out);
- writeBytes(FIELD_SEP, out);
- writeBytes(field.getBody(), charset, out);
- writeBytes(CR_LF, out);
- }
-
- private static final ByteArrayBuffer FIELD_SEP = encode(MIME.DEFAULT_CHARSET, ": ");
- private static final ByteArrayBuffer CR_LF = encode(MIME.DEFAULT_CHARSET, "\r\n");
- private static final ByteArrayBuffer TWO_DASHES = encode(MIME.DEFAULT_CHARSET, "--");
-
- private final String subType;
- protected final Charset charset;
- private final String boundary;
-
- /**
- * Creates an instance with the specified settings.
- *
- * @param subType MIME subtype - must not be {@code null}
- * @param charset the character set to use. May be {@code null}, in which case {@link MIME#DEFAULT_CHARSET} - i.e. US-ASCII - is used.
- * @param boundary to use - must not be {@code null}
- * @throws IllegalArgumentException if charset is null or boundary is null
- */
- public AbstractMultipartForm(final String subType, final Charset charset, final String boundary) {
- super();
- Args.notNull(subType, "Multipart subtype");
- Args.notNull(boundary, "Multipart boundary");
- this.subType = subType;
- this.charset = charset != null ? charset : MIME.DEFAULT_CHARSET;
- this.boundary = boundary;
- }
-
- public AbstractMultipartForm(final String subType, final String boundary) {
- this(subType, null, boundary);
- }
-
- public String getSubType() {
- return this.subType;
- }
-
- public Charset getCharset() {
- return this.charset;
- }
-
- public abstract List<FormBodyPart> getBodyParts();
-
- public String getBoundary() {
- return this.boundary;
- }
-
- void doWriteTo(
- final OutputStream out,
- final boolean writeContent) throws IOException {
-
- final ByteArrayBuffer boundary = encode(this.charset, getBoundary());
- for (final FormBodyPart part: getBodyParts()) {
- writeBytes(TWO_DASHES, out);
- writeBytes(boundary, out);
- writeBytes(CR_LF, out);
-
- formatMultipartHeader(part, out);
-
- writeBytes(CR_LF, out);
-
- if (writeContent) {
- part.getBody().writeTo(out);
- }
- writeBytes(CR_LF, out);
- }
- writeBytes(TWO_DASHES, out);
- writeBytes(boundary, out);
- writeBytes(TWO_DASHES, out);
- writeBytes(CR_LF, out);
- }
-
- /**
- * Write the multipart header fields; depends on the style.
- */
- protected abstract void formatMultipartHeader(
- final FormBodyPart part,
- final OutputStream out) throws IOException;
-
- /**
- * Writes out the content in the multipart/form encoding. This method
- * produces slightly different formatting depending on its compatibility
- * mode.
- */
- public void writeTo(final OutputStream out) throws IOException {
- doWriteTo(out, true);
- }
-
- /**
- * Determines the total length of the multipart content (content length of
- * individual parts plus that of extra elements required to delimit the parts
- * from one another). If any of the @{link BodyPart}s contained in this object
- * is of a streaming entity of unknown length the total length is also unknown.
- * <p/>
- * This method buffers only a small amount of data in order to determine the
- * total length of the entire entity. The content of individual parts is not
- * buffered.
- *
- * @return total length of the multipart entity if known, <code>-1</code>
- * otherwise.
- */
- public long getTotalLength() {
- long contentLen = 0;
- for (final FormBodyPart part: getBodyParts()) {
- final ContentBody body = part.getBody();
- final long len = body.getContentLength();
- if (len >= 0) {
- contentLen += len;
- } else {
- return -1;
- }
- }
- final ByteArrayOutputStream out = new ByteArrayOutputStream();
- try {
- doWriteTo(out, false);
- final byte[] extra = out.toByteArray();
- return contentLen + extra.length;
- } catch (final IOException ex) {
- // Should never happen
- return -1;
- }
- }
-
-}
diff --git a/mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/mime/FormBodyPart.java b/mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/mime/FormBodyPart.java
deleted file mode 100644
index a3d2c0954..000000000
--- a/mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/mime/FormBodyPart.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/*
- * ====================================================================
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation. For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- *
- */
-
-package ch.boye.httpclientandroidlib.entity.mime;
-
-import ch.boye.httpclientandroidlib.entity.ContentType;
-import ch.boye.httpclientandroidlib.entity.mime.content.AbstractContentBody;
-import ch.boye.httpclientandroidlib.entity.mime.content.ContentBody;
-import ch.boye.httpclientandroidlib.util.Args;
-
-/**
- * FormBodyPart class represents a content body that can be used as a part of multipart encoded
- * entities. This class automatically populates the header with standard fields based on
- * the content description of the enclosed body.
- *
- * @since 4.0
- */
-public class FormBodyPart {
-
- private final String name;
- private final Header header;
-
- private final ContentBody body;
-
- public FormBodyPart(final String name, final ContentBody body) {
- super();
- Args.notNull(name, "Name");
- Args.notNull(body, "Body");
- this.name = name;
- this.body = body;
- this.header = new Header();
-
- generateContentDisp(body);
- generateContentType(body);
- generateTransferEncoding(body);
- }
-
- public String getName() {
- return this.name;
- }
-
- public ContentBody getBody() {
- return this.body;
- }
-
- public Header getHeader() {
- return this.header;
- }
-
- public void addField(final String name, final String value) {
- Args.notNull(name, "Field name");
- this.header.addField(new MinimalField(name, value));
- }
-
- protected void generateContentDisp(final ContentBody body) {
- final StringBuilder buffer = new StringBuilder();
- buffer.append("form-data; name=\"");
- buffer.append(getName());
- buffer.append("\"");
- if (body.getFilename() != null) {
- buffer.append("; filename=\"");
- buffer.append(body.getFilename());
- buffer.append("\"");
- }
- addField(MIME.CONTENT_DISPOSITION, buffer.toString());
- }
-
- protected void generateContentType(final ContentBody body) {
- final ContentType contentType;
- if (body instanceof AbstractContentBody) {
- contentType = ((AbstractContentBody) body).getContentType();
- } else {
- contentType = null;
- }
- if (contentType != null) {
- addField(MIME.CONTENT_TYPE, contentType.toString());
- } else {
- final StringBuilder buffer = new StringBuilder();
- buffer.append(body.getMimeType()); // MimeType cannot be null
- if (body.getCharset() != null) { // charset may legitimately be null
- buffer.append("; charset=");
- buffer.append(body.getCharset());
- }
- addField(MIME.CONTENT_TYPE, buffer.toString());
- }
- }
-
- protected void generateTransferEncoding(final ContentBody body) {
- addField(MIME.CONTENT_TRANSFER_ENC, body.getTransferEncoding()); // TE cannot be null
- }
-
-}
diff --git a/mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/mime/Header.java b/mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/mime/Header.java
deleted file mode 100644
index 15d70acc9..000000000
--- a/mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/mime/Header.java
+++ /dev/null
@@ -1,144 +0,0 @@
-/*
- * ====================================================================
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation. For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- *
- */
-
-package ch.boye.httpclientandroidlib.entity.mime;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Locale;
-import java.util.Map;
-
-/**
- * The header of an entity (see RFC 2045).
- */
-public class Header implements Iterable<MinimalField> {
-
- private final List<MinimalField> fields;
- private final Map<String, List<MinimalField>> fieldMap;
-
- public Header() {
- super();
- this.fields = new LinkedList<MinimalField>();
- this.fieldMap = new HashMap<String, List<MinimalField>>();
- }
-
- public void addField(final MinimalField field) {
- if (field == null) {
- return;
- }
- final String key = field.getName().toLowerCase(Locale.ENGLISH);
- List<MinimalField> values = this.fieldMap.get(key);
- if (values == null) {
- values = new LinkedList<MinimalField>();
- this.fieldMap.put(key, values);
- }
- values.add(field);
- this.fields.add(field);
- }
-
- public List<MinimalField> getFields() {
- return new ArrayList<MinimalField>(this.fields);
- }
-
- public MinimalField getField(final String name) {
- if (name == null) {
- return null;
- }
- final String key = name.toLowerCase(Locale.ENGLISH);
- final List<MinimalField> list = this.fieldMap.get(key);
- if (list != null && !list.isEmpty()) {
- return list.get(0);
- }
- return null;
- }
-
- public List<MinimalField> getFields(final String name) {
- if (name == null) {
- return null;
- }
- final String key = name.toLowerCase(Locale.ENGLISH);
- final List<MinimalField> list = this.fieldMap.get(key);
- if (list == null || list.isEmpty()) {
- return Collections.emptyList();
- } else {
- return new ArrayList<MinimalField>(list);
- }
- }
-
- public int removeFields(final String name) {
- if (name == null) {
- return 0;
- }
- final String key = name.toLowerCase(Locale.ENGLISH);
- final List<MinimalField> removed = fieldMap.remove(key);
- if (removed == null || removed.isEmpty()) {
- return 0;
- }
- this.fields.removeAll(removed);
- return removed.size();
- }
-
- public void setField(final MinimalField field) {
- if (field == null) {
- return;
- }
- final String key = field.getName().toLowerCase(Locale.ENGLISH);
- final List<MinimalField> list = fieldMap.get(key);
- if (list == null || list.isEmpty()) {
- addField(field);
- return;
- }
- list.clear();
- list.add(field);
- int firstOccurrence = -1;
- int index = 0;
- for (final Iterator<MinimalField> it = this.fields.iterator(); it.hasNext(); index++) {
- final MinimalField f = it.next();
- if (f.getName().equalsIgnoreCase(field.getName())) {
- it.remove();
- if (firstOccurrence == -1) {
- firstOccurrence = index;
- }
- }
- }
- this.fields.add(firstOccurrence, field);
- }
-
- public Iterator<MinimalField> iterator() {
- return Collections.unmodifiableList(fields).iterator();
- }
-
- @Override
- public String toString() {
- return this.fields.toString();
- }
-
-}
diff --git a/mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/mime/HttpBrowserCompatibleMultipart.java b/mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/mime/HttpBrowserCompatibleMultipart.java
deleted file mode 100644
index dfc0a657e..000000000
--- a/mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/mime/HttpBrowserCompatibleMultipart.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * ====================================================================
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation. For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- *
- */
-
-package ch.boye.httpclientandroidlib.entity.mime;
-
-import java.io.IOException;
-import java.io.OutputStream;
-import java.nio.charset.Charset;
-import java.util.List;
-
-/**
- * HttpBrowserCompatibleMultipart represents a collection of MIME multipart encoded
- * content bodies. This class is emulates browser compatibility, e.g. IE 5 or earlier.
- *
- * @since 4.3
- */
-class HttpBrowserCompatibleMultipart extends AbstractMultipartForm {
-
- private final List<FormBodyPart> parts;
-
- public HttpBrowserCompatibleMultipart(
- final String subType,
- final Charset charset,
- final String boundary,
- final List<FormBodyPart> parts) {
- super(subType, charset, boundary);
- this.parts = parts;
- }
-
- @Override
- public List<FormBodyPart> getBodyParts() {
- return this.parts;
- }
-
- /**
- * Write the multipart header fields; depends on the style.
- */
- @Override
- protected void formatMultipartHeader(
- final FormBodyPart part,
- final OutputStream out) throws IOException {
- // For browser-compatible, only write Content-Disposition
- // Use content charset
- final Header header = part.getHeader();
- final MinimalField cd = header.getField(MIME.CONTENT_DISPOSITION);
- writeField(cd, this.charset, out);
- final String filename = part.getBody().getFilename();
- if (filename != null) {
- final MinimalField ct = header.getField(MIME.CONTENT_TYPE);
- writeField(ct, this.charset, out);
- }
-
- }
-
-}
diff --git a/mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/mime/HttpMultipartMode.java b/mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/mime/HttpMultipartMode.java
deleted file mode 100644
index ab73e4983..000000000
--- a/mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/mime/HttpMultipartMode.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * ====================================================================
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation. For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- *
- */
-
-package ch.boye.httpclientandroidlib.entity.mime;
-
-/**
- *
- * @since 4.0
- */
-public enum HttpMultipartMode {
-
- /** RFC 822, RFC 2045, RFC 2046 compliant */
- STRICT,
- /** browser-compatible mode, i.e. only write Content-Disposition; use content charset */
- BROWSER_COMPATIBLE,
- /** RFC 6532 compliant */
- RFC6532
-
-}
diff --git a/mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/mime/HttpRFC6532Multipart.java b/mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/mime/HttpRFC6532Multipart.java
deleted file mode 100644
index 634a12b23..000000000
--- a/mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/mime/HttpRFC6532Multipart.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * ====================================================================
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation. For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- *
- */
-
-package ch.boye.httpclientandroidlib.entity.mime;
-
-import java.io.IOException;
-import java.io.OutputStream;
-import java.nio.charset.Charset;
-import java.util.List;
-
-/**
- * HttpRFC6532Multipart represents a collection of MIME multipart encoded content bodies,
- * implementing the strict (RFC 822, RFC 2045, RFC 2046 compliant) interpretation
- * of the spec, with the exception of allowing UTF-8 headers, as per RFC6532.
- *
- * @since 4.3
- */
-class HttpRFC6532Multipart extends AbstractMultipartForm {
-
- private final List<FormBodyPart> parts;
-
- public HttpRFC6532Multipart(
- final String subType,
- final Charset charset,
- final String boundary,
- final List<FormBodyPart> parts) {
- super(subType, charset, boundary);
- this.parts = parts;
- }
-
- @Override
- public List<FormBodyPart> getBodyParts() {
- return this.parts;
- }
-
- @Override
- protected void formatMultipartHeader(
- final FormBodyPart part,
- final OutputStream out) throws IOException {
-
- // For RFC6532, we output all fields with UTF-8 encoding.
- final Header header = part.getHeader();
- for (final MinimalField field: header) {
- writeField(field, MIME.UTF8_CHARSET, out);
- }
- }
-
-}
diff --git a/mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/mime/HttpStrictMultipart.java b/mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/mime/HttpStrictMultipart.java
deleted file mode 100644
index d6e68c6e2..000000000
--- a/mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/mime/HttpStrictMultipart.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * ====================================================================
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation. For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- *
- */
-
-package ch.boye.httpclientandroidlib.entity.mime;
-
-import java.io.IOException;
-import java.io.OutputStream;
-import java.nio.charset.Charset;
-import java.util.List;
-
-/**
- * HttpStrictMultipart represents a collection of MIME multipart encoded content bodies,
- * implementing the strict (RFC 822, RFC 2045, RFC 2046 compliant) interpretation
- * of the spec.
- *
- * @since 4.3
- */
-class HttpStrictMultipart extends AbstractMultipartForm {
-
- private final List<FormBodyPart> parts;
-
- public HttpStrictMultipart(
- final String subType,
- final Charset charset,
- final String boundary,
- final List<FormBodyPart> parts) {
- super(subType, charset, boundary);
- this.parts = parts;
- }
-
- @Override
- public List<FormBodyPart> getBodyParts() {
- return this.parts;
- }
-
- @Override
- protected void formatMultipartHeader(
- final FormBodyPart part,
- final OutputStream out) throws IOException {
-
- // For strict, we output all fields with MIME-standard encoding.
- final Header header = part.getHeader();
- for (final MinimalField field: header) {
- writeField(field, out);
- }
- }
-
-}
diff --git a/mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/mime/MIME.java b/mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/mime/MIME.java
deleted file mode 100644
index d5896312d..000000000
--- a/mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/mime/MIME.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * ====================================================================
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation. For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- *
- */
-
-package ch.boye.httpclientandroidlib.entity.mime;
-
-import ch.boye.httpclientandroidlib.Consts;
-
-import java.nio.charset.Charset;
-
-/**
- *
- * @since 4.0
- */
-public final class MIME {
-
- public static final String CONTENT_TYPE = "Content-Type";
- public static final String CONTENT_TRANSFER_ENC = "Content-Transfer-Encoding";
- public static final String CONTENT_DISPOSITION = "Content-Disposition";
-
- public static final String ENC_8BIT = "8bit";
- public static final String ENC_BINARY = "binary";
-
- /** The default character set to be used, i.e. "US-ASCII" */
- public static final Charset DEFAULT_CHARSET = Consts.ASCII;
-
- /** UTF-8 is used for RFC6532 */
- public static final Charset UTF8_CHARSET = Consts.UTF_8;
-
-}
diff --git a/mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/mime/MinimalField.java b/mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/mime/MinimalField.java
deleted file mode 100644
index 35af51233..000000000
--- a/mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/mime/MinimalField.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * ====================================================================
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation. For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- *
- */
-
-package ch.boye.httpclientandroidlib.entity.mime;
-
-/**
- * Minimal MIME field.
- *
- * @since 4.0
- */
-public class MinimalField {
-
- private final String name;
- private final String value;
-
- public MinimalField(final String name, final String value) {
- super();
- this.name = name;
- this.value = value;
- }
-
- public String getName() {
- return this.name;
- }
-
- public String getBody() {
- return this.value;
- }
-
- @Override
- public String toString() {
- final StringBuilder buffer = new StringBuilder();
- buffer.append(this.name);
- buffer.append(": ");
- buffer.append(this.value);
- return buffer.toString();
- }
-
-}
diff --git a/mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/mime/MultipartEntityBuilder.java b/mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/mime/MultipartEntityBuilder.java
deleted file mode 100644
index 5074001d7..000000000
--- a/mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/mime/MultipartEntityBuilder.java
+++ /dev/null
@@ -1,207 +0,0 @@
-/*
- * ====================================================================
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation. For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- *
- */
-
-package ch.boye.httpclientandroidlib.entity.mime;
-
-import java.io.File;
-import java.io.InputStream;
-import java.nio.charset.Charset;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-import java.util.Random;
-
-import ch.boye.httpclientandroidlib.HttpEntity;
-import ch.boye.httpclientandroidlib.entity.ContentType;
-import ch.boye.httpclientandroidlib.entity.mime.content.ByteArrayBody;
-import ch.boye.httpclientandroidlib.entity.mime.content.ContentBody;
-import ch.boye.httpclientandroidlib.entity.mime.content.FileBody;
-import ch.boye.httpclientandroidlib.entity.mime.content.InputStreamBody;
-import ch.boye.httpclientandroidlib.entity.mime.content.StringBody;
-import ch.boye.httpclientandroidlib.util.Args;
-
-/**
- * Builder for multipart {@link HttpEntity}s.
- *
- * @since 4.3
- */
-public class MultipartEntityBuilder {
-
- /**
- * The pool of ASCII chars to be used for generating a multipart boundary.
- */
- private final static char[] MULTIPART_CHARS =
- "-_1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
- .toCharArray();
-
- private final static String DEFAULT_SUBTYPE = "form-data";
-
- private String subType = DEFAULT_SUBTYPE;
- private HttpMultipartMode mode = HttpMultipartMode.STRICT;
- private String boundary = null;
- private Charset charset = null;
- private List<FormBodyPart> bodyParts = null;
-
- public static MultipartEntityBuilder create() {
- return new MultipartEntityBuilder();
- }
-
- MultipartEntityBuilder() {
- super();
- }
-
- public MultipartEntityBuilder setMode(final HttpMultipartMode mode) {
- this.mode = mode;
- return this;
- }
-
- public MultipartEntityBuilder setLaxMode() {
- this.mode = HttpMultipartMode.BROWSER_COMPATIBLE;
- return this;
- }
-
- public MultipartEntityBuilder setStrictMode() {
- this.mode = HttpMultipartMode.STRICT;
- return this;
- }
-
- public MultipartEntityBuilder setBoundary(final String boundary) {
- this.boundary = boundary;
- return this;
- }
-
- public MultipartEntityBuilder setCharset(final Charset charset) {
- this.charset = charset;
- return this;
- }
-
- MultipartEntityBuilder addPart(final FormBodyPart bodyPart) {
- if (bodyPart == null) {
- return this;
- }
- if (this.bodyParts == null) {
- this.bodyParts = new ArrayList<FormBodyPart>();
- }
- this.bodyParts.add(bodyPart);
- return this;
- }
-
- public MultipartEntityBuilder addPart(final String name, final ContentBody contentBody) {
- Args.notNull(name, "Name");
- Args.notNull(contentBody, "Content body");
- return addPart(new FormBodyPart(name, contentBody));
- }
-
- public MultipartEntityBuilder addTextBody(
- final String name, final String text, final ContentType contentType) {
- return addPart(name, new StringBody(text, contentType));
- }
-
- public MultipartEntityBuilder addTextBody(
- final String name, final String text) {
- return addTextBody(name, text, ContentType.DEFAULT_TEXT);
- }
-
- public MultipartEntityBuilder addBinaryBody(
- final String name, final byte[] b, final ContentType contentType, final String filename) {
- return addPart(name, new ByteArrayBody(b, contentType, filename));
- }
-
- public MultipartEntityBuilder addBinaryBody(
- final String name, final byte[] b) {
- return addBinaryBody(name, b, ContentType.DEFAULT_BINARY, null);
- }
-
- public MultipartEntityBuilder addBinaryBody(
- final String name, final File file, final ContentType contentType, final String filename) {
- return addPart(name, new FileBody(file, contentType, filename));
- }
-
- public MultipartEntityBuilder addBinaryBody(
- final String name, final File file) {
- return addBinaryBody(name, file, ContentType.DEFAULT_BINARY, file != null ? file.getName() : null);
- }
-
- public MultipartEntityBuilder addBinaryBody(
- final String name, final InputStream stream, final ContentType contentType,
- final String filename) {
- return addPart(name, new InputStreamBody(stream, contentType, filename));
- }
-
- public MultipartEntityBuilder addBinaryBody(final String name, final InputStream stream) {
- return addBinaryBody(name, stream, ContentType.DEFAULT_BINARY, null);
- }
-
- private String generateContentType(
- final String boundary,
- final Charset charset) {
- final StringBuilder buffer = new StringBuilder();
- buffer.append("multipart/form-data; boundary=");
- buffer.append(boundary);
- if (charset != null) {
- buffer.append("; charset=");
- buffer.append(charset.name());
- }
- return buffer.toString();
- }
-
- private String generateBoundary() {
- final StringBuilder buffer = new StringBuilder();
- final Random rand = new Random();
- final int count = rand.nextInt(11) + 30; // a random size from 30 to 40
- for (int i = 0; i < count; i++) {
- buffer.append(MULTIPART_CHARS[rand.nextInt(MULTIPART_CHARS.length)]);
- }
- return buffer.toString();
- }
-
- MultipartFormEntity buildEntity() {
- final String st = subType != null ? subType : DEFAULT_SUBTYPE;
- final Charset cs = charset;
- final String b = boundary != null ? boundary : generateBoundary();
- final List<FormBodyPart> bps = bodyParts != null ? new ArrayList<FormBodyPart>(bodyParts) :
- Collections.<FormBodyPart>emptyList();
- final HttpMultipartMode m = mode != null ? mode : HttpMultipartMode.STRICT;
- final AbstractMultipartForm form;
- switch (m) {
- case BROWSER_COMPATIBLE:
- form = new HttpBrowserCompatibleMultipart(st, cs, b, bps);
- break;
- case RFC6532:
- form = new HttpRFC6532Multipart(st, cs, b, bps);
- break;
- default:
- form = new HttpStrictMultipart(st, cs, b, bps);
- }
- return new MultipartFormEntity(form, generateContentType(b, cs), form.getTotalLength());
- }
-
- public HttpEntity build() {
- return buildEntity();
- }
-
-}
diff --git a/mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/mime/MultipartFormEntity.java b/mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/mime/MultipartFormEntity.java
deleted file mode 100644
index 9da2f4724..000000000
--- a/mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/mime/MultipartFormEntity.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
- * ====================================================================
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation. For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- *
- */
-
-package ch.boye.httpclientandroidlib.entity.mime;
-
-import ch.boye.httpclientandroidlib.Header;
-import ch.boye.httpclientandroidlib.HttpEntity;
-import ch.boye.httpclientandroidlib.message.BasicHeader;
-import ch.boye.httpclientandroidlib.protocol.HTTP;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-
-class MultipartFormEntity implements HttpEntity {
-
- private final AbstractMultipartForm multipart;
- private final Header contentType;
- private final long contentLength;
-
- MultipartFormEntity(
- final AbstractMultipartForm multipart,
- final String contentType,
- final long contentLength) {
- super();
- this.multipart = multipart;
- this.contentType = new BasicHeader(HTTP.CONTENT_TYPE, contentType);
- this.contentLength = contentLength;
- }
-
- AbstractMultipartForm getMultipart() {
- return this.multipart;
- }
-
- public boolean isRepeatable() {
- return this.contentLength != -1;
- }
-
- public boolean isChunked() {
- return !isRepeatable();
- }
-
- public boolean isStreaming() {
- return !isRepeatable();
- }
-
- public long getContentLength() {
- return this.contentLength;
- }
-
- public Header getContentType() {
- return this.contentType;
- }
-
- public Header getContentEncoding() {
- return null;
- }
-
- public void consumeContent()
- throws IOException, UnsupportedOperationException{
- if (isStreaming()) {
- throw new UnsupportedOperationException(
- "Streaming entity does not implement #consumeContent()");
- }
- }
-
- public InputStream getContent() throws IOException {
- throw new UnsupportedOperationException(
- "Multipart form entity does not implement #getContent()");
- }
-
- public void writeTo(final OutputStream outstream) throws IOException {
- this.multipart.writeTo(outstream);
- }
-
-}
diff --git a/mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/mime/content/AbstractContentBody.java b/mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/mime/content/AbstractContentBody.java
deleted file mode 100644
index b6b58ad35..000000000
--- a/mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/mime/content/AbstractContentBody.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
- * ====================================================================
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation. For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- *
- */
-
-package ch.boye.httpclientandroidlib.entity.mime.content;
-
-import java.nio.charset.Charset;
-
-import ch.boye.httpclientandroidlib.entity.ContentType;
-import ch.boye.httpclientandroidlib.util.Args;
-
-/**
- *
- * @since 4.0
- */
-public abstract class AbstractContentBody implements ContentBody {
-
- private final ContentType contentType;
-
- /**
- * @since 4.3
- */
- public AbstractContentBody(final ContentType contentType) {
- super();
- Args.notNull(contentType, "Content type");
- this.contentType = contentType;
- }
-
- /**
- * @deprecated (4.3) use {@link AbstractContentBody#AbstractContentBody(ContentType)}
- */
- @Deprecated
- public AbstractContentBody(final String mimeType) {
- this(ContentType.parse(mimeType));
- }
-
- /**
- * @since 4.3
- */
- public ContentType getContentType() {
- return this.contentType;
- }
-
- public String getMimeType() {
- return this.contentType.getMimeType();
- }
-
- public String getMediaType() {
- final String mimeType = this.contentType.getMimeType();
- final int i = mimeType.indexOf('/');
- if (i != -1) {
- return mimeType.substring(0, i);
- } else {
- return mimeType;
- }
- }
-
- public String getSubType() {
- final String mimeType = this.contentType.getMimeType();
- final int i = mimeType.indexOf('/');
- if (i != -1) {
- return mimeType.substring(i + 1);
- } else {
- return null;
- }
- }
-
- public String getCharset() {
- final Charset charset = this.contentType.getCharset();
- return charset != null ? charset.name() : null;
- }
-
-}
diff --git a/mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/mime/content/ByteArrayBody.java b/mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/mime/content/ByteArrayBody.java
deleted file mode 100644
index ea60fa047..000000000
--- a/mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/mime/content/ByteArrayBody.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * ====================================================================
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation. For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- *
- */
-package ch.boye.httpclientandroidlib.entity.mime.content;
-
-import java.io.IOException;
-import java.io.OutputStream;
-
-import ch.boye.httpclientandroidlib.entity.ContentType;
-import ch.boye.httpclientandroidlib.entity.mime.MIME;
-import ch.boye.httpclientandroidlib.util.Args;
-
-/**
- * Binary body part backed by a byte array.
- *
- * @see ch.boye.httpclientandroidlib.entity.mime.MultipartEntityBuilder
- *
- * @since 4.1
- */
-public class ByteArrayBody extends AbstractContentBody {
-
- /**
- * The contents of the file contained in this part.
- */
- private final byte[] data;
-
- /**
- * The name of the file contained in this part.
- */
- private final String filename;
-
- /**
- * Creates a new ByteArrayBody.
- *
- * @param data The contents of the file contained in this part.
- * @param mimeType The MIME type of the file contained in this part.
- * @param filename The name of the file contained in this part.
- *
- * @deprecated (4.3) use {@link ByteArrayBody#ByteArrayBody(byte[], ContentType, String)}
- * or {@link ch.boye.httpclientandroidlib.entity.mime.MultipartEntityBuilder}
- */
- @Deprecated
- public ByteArrayBody(final byte[] data, final String mimeType, final String filename) {
- this(data, ContentType.create(mimeType), filename);
- }
-
- /**
- * @since 4.3
- */
- public ByteArrayBody(final byte[] data, final ContentType contentType, final String filename) {
- super(contentType);
- Args.notNull(data, "byte[]");
- this.data = data;
- this.filename = filename;
- }
-
- /**
- * Creates a new ByteArrayBody.
- *
- * @param data The contents of the file contained in this part.
- * @param filename The name of the file contained in this part.
- */
- public ByteArrayBody(final byte[] data, final String filename) {
- this(data, "application/octet-stream", filename);
- }
-
- public String getFilename() {
- return filename;
- }
-
- public void writeTo(final OutputStream out) throws IOException {
- out.write(data);
- }
-
- @Override
- public String getCharset() {
- return null;
- }
-
- public String getTransferEncoding() {
- return MIME.ENC_BINARY;
- }
-
- public long getContentLength() {
- return data.length;
- }
-
-}
diff --git a/mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/mime/content/ContentBody.java b/mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/mime/content/ContentBody.java
deleted file mode 100644
index d62aaff54..000000000
--- a/mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/mime/content/ContentBody.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * ====================================================================
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation. For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- *
- */
-
-package ch.boye.httpclientandroidlib.entity.mime.content;
-
-import java.io.IOException;
-import java.io.OutputStream;
-
-/**
- *
- * @since 4.0
- */
-public interface ContentBody extends ContentDescriptor {
-
- String getFilename();
-
- void writeTo(OutputStream out) throws IOException;
-
-}
diff --git a/mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/mime/content/ContentDescriptor.java b/mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/mime/content/ContentDescriptor.java
deleted file mode 100644
index 87237ec23..000000000
--- a/mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/mime/content/ContentDescriptor.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
- * ====================================================================
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation. For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- *
- */
-
-package ch.boye.httpclientandroidlib.entity.mime.content;
-
-/**
- * Represents common content properties.
- */
-public interface ContentDescriptor {
-
- /**
- * Returns the body descriptors MIME type.
- * @see #getMediaType()
- * @see #getSubType()
- * @return The MIME type, which has been parsed from the
- * content-type definition. Must not be null, but
- * "text/plain", if no content-type was specified.
- */
- String getMimeType();
-
- /**
- * Gets the defaulted MIME media type for this content.
- * For example <code>TEXT</code>, <code>IMAGE</code>, <code>MULTIPART</code>
- * @see #getMimeType()
- * @return the MIME media type when content-type specified,
- * otherwise the correct default (<code>TEXT</code>)
- */
- String getMediaType();
-
- /**
- * Gets the defaulted MIME sub type for this content.
- * @see #getMimeType()
- * @return the MIME media type when content-type is specified,
- * otherwise the correct default (<code>PLAIN</code>)
- */
- String getSubType();
-
- /**
- * <p>The body descriptors character set, defaulted appropriately for the MIME type.</p>
- * <p>
- * For <code>TEXT</code> types, this will be defaulted to <code>us-ascii</code>.
- * For other types, when the charset parameter is missing this property will be null.
- * </p>
- * @return Character set, which has been parsed from the
- * content-type definition. Not null for <code>TEXT</code> types, when unset will
- * be set to default <code>us-ascii</code>. For other types, when unset,
- * null will be returned.
- */
- String getCharset();
-
- /**
- * Returns the body descriptors transfer encoding.
- * @return The transfer encoding. Must not be null, but "7bit",
- * if no transfer-encoding was specified.
- */
- String getTransferEncoding();
-
- /**
- * Returns the body descriptors content-length.
- * @return Content length, if known, or -1, to indicate the absence of a
- * content-length header.
- */
- long getContentLength();
-
-}
diff --git a/mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/mime/content/FileBody.java b/mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/mime/content/FileBody.java
deleted file mode 100644
index 7641236a4..000000000
--- a/mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/mime/content/FileBody.java
+++ /dev/null
@@ -1,144 +0,0 @@
-/*
- * ====================================================================
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation. For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- *
- */
-
-package ch.boye.httpclientandroidlib.entity.mime.content;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-
-import ch.boye.httpclientandroidlib.entity.ContentType;
-import ch.boye.httpclientandroidlib.entity.mime.MIME;
-import ch.boye.httpclientandroidlib.util.Args;
-
-/**
- * Binary body part backed by a file.
- *
- * @see ch.boye.httpclientandroidlib.entity.mime.MultipartEntityBuilder
- *
- * @since 4.0
- */
-public class FileBody extends AbstractContentBody {
-
- private final File file;
- private final String filename;
-
- /**
- * @since 4.1
- *
- * @deprecated (4.3) use {@link FileBody#FileBody(File, ContentType, String)}
- * or {@link ch.boye.httpclientandroidlib.entity.mime.MultipartEntityBuilder}
- */
- @Deprecated
- public FileBody(final File file,
- final String filename,
- final String mimeType,
- final String charset) {
- this(file, ContentType.create(mimeType, charset), filename);
- }
-
- /**
- * @since 4.1
- *
- * @deprecated (4.3) use {@link FileBody#FileBody(File, ContentType)}
- * or {@link ch.boye.httpclientandroidlib.entity.mime.MultipartEntityBuilder}
- */
- @Deprecated
- public FileBody(final File file,
- final String mimeType,
- final String charset) {
- this(file, null, mimeType, charset);
- }
-
- /**
- * @deprecated (4.3) use {@link FileBody#FileBody(File, ContentType)}
- * or {@link ch.boye.httpclientandroidlib.entity.mime.MultipartEntityBuilder}
- */
- @Deprecated
- public FileBody(final File file, final String mimeType) {
- this(file, ContentType.create(mimeType), null);
- }
-
- public FileBody(final File file) {
- this(file, ContentType.DEFAULT_BINARY, file != null ? file.getName() : null);
- }
-
- /**
- * @since 4.3
- */
- public FileBody(final File file, final ContentType contentType, final String filename) {
- super(contentType);
- Args.notNull(file, "File");
- this.file = file;
- this.filename = filename;
- }
-
- /**
- * @since 4.3
- */
- public FileBody(final File file, final ContentType contentType) {
- this(file, contentType, null);
- }
-
- public InputStream getInputStream() throws IOException {
- return new FileInputStream(this.file);
- }
-
- public void writeTo(final OutputStream out) throws IOException {
- Args.notNull(out, "Output stream");
- final InputStream in = new FileInputStream(this.file);
- try {
- final byte[] tmp = new byte[4096];
- int l;
- while ((l = in.read(tmp)) != -1) {
- out.write(tmp, 0, l);
- }
- out.flush();
- } finally {
- in.close();
- }
- }
-
- public String getTransferEncoding() {
- return MIME.ENC_BINARY;
- }
-
- public long getContentLength() {
- return this.file.length();
- }
-
- public String getFilename() {
- return filename;
- }
-
- public File getFile() {
- return this.file;
- }
-
-}
diff --git a/mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/mime/content/InputStreamBody.java b/mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/mime/content/InputStreamBody.java
deleted file mode 100644
index 267a78ea5..000000000
--- a/mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/mime/content/InputStreamBody.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*
- * ====================================================================
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation. For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- *
- */
-
-package ch.boye.httpclientandroidlib.entity.mime.content;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-
-import ch.boye.httpclientandroidlib.entity.ContentType;
-import ch.boye.httpclientandroidlib.entity.mime.MIME;
-import ch.boye.httpclientandroidlib.util.Args;
-
-/**
- * Binary body part backed by an input stream.
- *
- * @see ch.boye.httpclientandroidlib.entity.mime.MultipartEntityBuilder
- *
- * @since 4.0
- */
-public class InputStreamBody extends AbstractContentBody {
-
- private final InputStream in;
- private final String filename;
-
- /**
- * @since 4.1
- *
- * @deprecated (4.3) use {@link InputStreamBody#InputStreamBody(InputStream, ContentType,
- * String)} or {@link ch.boye.httpclientandroidlib.entity.mime.MultipartEntityBuilder}
- */
- @Deprecated
- public InputStreamBody(final InputStream in, final String mimeType, final String filename) {
- this(in, ContentType.create(mimeType), filename);
- }
-
- public InputStreamBody(final InputStream in, final String filename) {
- this(in, ContentType.DEFAULT_BINARY, filename);
- }
-
- /**
- * @since 4.3
- */
- public InputStreamBody(final InputStream in, final ContentType contentType, final String filename) {
- super(contentType);
- Args.notNull(in, "Input stream");
- this.in = in;
- this.filename = filename;
- }
-
- /**
- * @since 4.3
- */
- public InputStreamBody(final InputStream in, final ContentType contentType) {
- this(in, contentType, null);
- }
-
- public InputStream getInputStream() {
- return this.in;
- }
-
- public void writeTo(final OutputStream out) throws IOException {
- Args.notNull(out, "Output stream");
- try {
- final byte[] tmp = new byte[4096];
- int l;
- while ((l = this.in.read(tmp)) != -1) {
- out.write(tmp, 0, l);
- }
- out.flush();
- } finally {
- this.in.close();
- }
- }
-
- public String getTransferEncoding() {
- return MIME.ENC_BINARY;
- }
-
- public long getContentLength() {
- return -1;
- }
-
- public String getFilename() {
- return this.filename;
- }
-
-}
diff --git a/mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/mime/content/StringBody.java b/mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/mime/content/StringBody.java
deleted file mode 100644
index c5ad5632d..000000000
--- a/mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/mime/content/StringBody.java
+++ /dev/null
@@ -1,197 +0,0 @@
-/*
- * ====================================================================
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation. For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- *
- */
-
-package ch.boye.httpclientandroidlib.entity.mime.content;
-
-import java.io.ByteArrayInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.OutputStream;
-import java.io.Reader;
-import java.io.UnsupportedEncodingException;
-import java.nio.charset.Charset;
-import java.nio.charset.UnsupportedCharsetException;
-
-import ch.boye.httpclientandroidlib.Consts;
-import ch.boye.httpclientandroidlib.entity.ContentType;
-import ch.boye.httpclientandroidlib.entity.mime.MIME;
-import ch.boye.httpclientandroidlib.util.Args;
-
-/**
- * Text body part backed by a byte array.
- *
- * @see ch.boye.httpclientandroidlib.entity.mime.MultipartEntityBuilder
- *
- * @since 4.0
- */
-public class StringBody extends AbstractContentBody {
-
- private final byte[] content;
-
- /**
- * @since 4.1
- *
- * @deprecated (4.3) use {@link StringBody#StringBody(String, ContentType)}
- * or {@link ch.boye.httpclientandroidlib.entity.mime.MultipartEntityBuilder}
- */
- @Deprecated
- public static StringBody create(
- final String text,
- final String mimeType,
- final Charset charset) throws IllegalArgumentException {
- try {
- return new StringBody(text, mimeType, charset);
- } catch (final UnsupportedEncodingException ex) {
- throw new IllegalArgumentException("Charset " + charset + " is not supported", ex);
- }
- }
-
- /**
- * @since 4.1
- *
- * @deprecated (4.3) use {@link StringBody#StringBody(String, ContentType)}
- * or {@link ch.boye.httpclientandroidlib.entity.mime.MultipartEntityBuilder}
- */
- @Deprecated
- public static StringBody create(
- final String text, final Charset charset) throws IllegalArgumentException {
- return create(text, null, charset);
- }
-
- /**
- * @since 4.1
- *
- * @deprecated (4.3) use {@link StringBody#StringBody(String, ContentType)}
- * or {@link ch.boye.httpclientandroidlib.entity.mime.MultipartEntityBuilder}
- */
- @Deprecated
- public static StringBody create(final String text) throws IllegalArgumentException {
- return create(text, null, null);
- }
-
- /**
- * Create a StringBody from the specified text, MIME type and character set.
- *
- * @param text to be used for the body, not {@code null}
- * @param mimeType the MIME type, not {@code null}
- * @param charset the character set, may be {@code null}, in which case the US-ASCII charset is used
- * @throws UnsupportedEncodingException
- * @throws IllegalArgumentException if the {@code text} parameter is null
- *
- * @deprecated (4.3) use {@link StringBody#StringBody(String, ContentType)}
- * or {@link ch.boye.httpclientandroidlib.entity.mime.MultipartEntityBuilder}
- */
- @Deprecated
- public StringBody(
- final String text,
- final String mimeType,
- final Charset charset) throws UnsupportedEncodingException {
- this(text, ContentType.create(mimeType, charset));
- }
-
- /**
- * Create a StringBody from the specified text and character set.
- * The MIME type is set to "text/plain".
- *
- * @param text to be used for the body, not {@code null}
- * @param charset the character set, may be {@code null}, in which case the US-ASCII charset is used
- * @throws UnsupportedEncodingException
- * @throws IllegalArgumentException if the {@code text} parameter is null
- *
- * @deprecated (4.3) use {@link StringBody#StringBody(String, ContentType)}
- * or {@link ch.boye.httpclientandroidlib.entity.mime.MultipartEntityBuilder}
- */
- @Deprecated
- public StringBody(final String text, final Charset charset) throws UnsupportedEncodingException {
- this(text, "text/plain", charset);
- }
-
- /**
- * Create a StringBody from the specified text.
- * The MIME type is set to "text/plain".
- * The {@linkplain Consts#ASCII ASCII} charset is used.
- *
- * @param text to be used for the body, not {@code null}
- * @throws UnsupportedEncodingException
- * @throws IllegalArgumentException if the {@code text} parameter is null
- *
- * @deprecated (4.3) use {@link StringBody#StringBody(String, ContentType)}
- * or {@link ch.boye.httpclientandroidlib.entity.mime.MultipartEntityBuilder}
- */
- @Deprecated
- public StringBody(final String text) throws UnsupportedEncodingException {
- this(text, "text/plain", Consts.ASCII);
- }
-
- /**
- * @since 4.3
- */
- public StringBody(final String text, final ContentType contentType) {
- super(contentType);
- Args.notNull(text, "Text");
- final Charset charset = contentType.getCharset();
- final String csname = charset != null ? charset.name() : Consts.ASCII.name();
- try {
- this.content = text.getBytes(csname);
- } catch (final UnsupportedEncodingException ex) {
- // Should never happen
- throw new UnsupportedCharsetException(csname);
- }
- }
-
- public Reader getReader() {
- final Charset charset = getContentType().getCharset();
- return new InputStreamReader(
- new ByteArrayInputStream(this.content),
- charset != null ? charset : Consts.ASCII);
- }
-
- public void writeTo(final OutputStream out) throws IOException {
- Args.notNull(out, "Output stream");
- final InputStream in = new ByteArrayInputStream(this.content);
- final byte[] tmp = new byte[4096];
- int l;
- while ((l = in.read(tmp)) != -1) {
- out.write(tmp, 0, l);
- }
- out.flush();
- }
-
- public String getTransferEncoding() {
- return MIME.ENC_8BIT;
- }
-
- public long getContentLength() {
- return this.content.length;
- }
-
- public String getFilename() {
- return null;
- }
-
-}
diff --git a/mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/mime/content/package-info.java b/mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/mime/content/package-info.java
deleted file mode 100644
index ff5e2ed0d..000000000
--- a/mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/mime/content/package-info.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * ====================================================================
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation. For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- *
- */
-
-/**
- * MIME body part implementations.
- */
-package ch.boye.httpclientandroidlib.entity.mime.content;
diff --git a/mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/mime/package-info.java b/mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/mime/package-info.java
deleted file mode 100644
index 0ef01f9ed..000000000
--- a/mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/mime/package-info.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * ====================================================================
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation. For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- *
- */
-
-/**
- * MIME coded HTTP entity implementations.
- */
-package ch.boye.httpclientandroidlib.entity.mime;
diff --git a/mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/package-info.java b/mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/package-info.java
deleted file mode 100644
index 0027ae98d..000000000
--- a/mobile/android/thirdparty/ch/boye/httpclientandroidlib/entity/package-info.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * ====================================================================
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation. For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- *
- */
-
-/**
- * Core HTTP entity implementations.
- */
-package ch.boye.httpclientandroidlib.entity;