Search in sources :

Example 16 with ByteArrayBuffer

use of org.apache.http.util.ByteArrayBuffer in project SmartAndroidSource by jaychou2012.

the class AsyncHttpResponseHandler method getResponseData.

/**
     * Returns byte array of response HttpEntity contents
     *
     * @param entity can be null
     * @return response entity body or null
     * @throws java.io.IOException if reading entity or creating byte array failed
     */
byte[] getResponseData(HttpEntity entity) throws IOException {
    byte[] responseBody = null;
    if (entity != null) {
        InputStream instream = entity.getContent();
        if (instream != null) {
            long contentLength = entity.getContentLength();
            if (contentLength > Integer.MAX_VALUE) {
                throw new IllegalArgumentException("HTTP entity too large to be buffered in memory");
            }
            int buffersize = (contentLength <= 0) ? BUFFER_SIZE : (int) contentLength;
            try {
                ByteArrayBuffer buffer = new ByteArrayBuffer(buffersize);
                try {
                    byte[] tmp = new byte[BUFFER_SIZE];
                    int l, count = 0;
                    // do not send messages if request has been cancelled
                    while ((l = instream.read(tmp)) != -1 && !Thread.currentThread().isInterrupted()) {
                        count += l;
                        buffer.append(tmp, 0, l);
                        sendProgressMessage(count, (int) (contentLength <= 0 ? 1 : contentLength));
                    }
                } finally {
                    AsyncHttpClient.silentCloseInputStream(instream);
                    AsyncHttpClient.endEntityViaReflection(entity);
                }
                responseBody = buffer.toByteArray();
            } catch (OutOfMemoryError e) {
                System.gc();
                throw new IOException("File too large to fit into available memory");
            }
        }
    }
    return responseBody;
}
Also used : InputStream(java.io.InputStream) IOException(java.io.IOException) ByteArrayBuffer(org.apache.http.util.ByteArrayBuffer)

Example 17 with ByteArrayBuffer

use of org.apache.http.util.ByteArrayBuffer in project Libraries-for-Android-Developers by eoecn.

the class DataAsyncHttpResponseHandler method getResponseData.

/**
     * Returns byte array of response HttpEntity contents
     *
     * @param entity can be null
     * @return response entity body or null
     * @throws java.io.IOException if reading entity or creating byte array failed
     */
@Override
byte[] getResponseData(HttpEntity entity) throws IOException {
    byte[] responseBody = null;
    if (entity != null) {
        InputStream instream = entity.getContent();
        if (instream != null) {
            long contentLength = entity.getContentLength();
            if (contentLength > Integer.MAX_VALUE) {
                throw new IllegalArgumentException("HTTP entity too large to be buffered in memory");
            }
            if (contentLength < 0) {
                contentLength = BUFFER_SIZE;
            }
            try {
                ByteArrayBuffer buffer = new ByteArrayBuffer((int) contentLength);
                try {
                    byte[] tmp = new byte[BUFFER_SIZE];
                    int l;
                    // do not send messages if request has been cancelled
                    while ((l = instream.read(tmp)) != -1 && !Thread.currentThread().isInterrupted()) {
                        buffer.append(tmp, 0, l);
                        sendProgressDataMessage(copyOfRange(tmp, 0, l));
                    }
                } finally {
                    instream.close();
                }
                responseBody = buffer.toByteArray();
            } catch (OutOfMemoryError e) {
                System.gc();
                throw new IOException("File too large to fit into available memory");
            }
        }
    }
    return responseBody;
}
Also used : InputStream(java.io.InputStream) IOException(java.io.IOException) ByteArrayBuffer(org.apache.http.util.ByteArrayBuffer)

Example 18 with ByteArrayBuffer

use of org.apache.http.util.ByteArrayBuffer in project xUtils by wyouflf.

the class HttpMultipart method encode.

private static ByteArrayBuffer encode(final Charset charset, final String string) {
    ByteBuffer encoded = charset.encode(CharBuffer.wrap(string));
    ByteArrayBuffer bab = new ByteArrayBuffer(encoded.remaining());
    bab.append(encoded.array(), encoded.position(), encoded.remaining());
    return bab;
}
Also used : ByteBuffer(java.nio.ByteBuffer) ByteArrayBuffer(org.apache.http.util.ByteArrayBuffer)

Example 19 with ByteArrayBuffer

use of org.apache.http.util.ByteArrayBuffer in project XobotOS by xamarin.

the class AbstractSessionInputBuffer method init.

protected void init(final InputStream instream, int buffersize, final HttpParams params) {
    if (instream == null) {
        throw new IllegalArgumentException("Input stream may not be null");
    }
    if (buffersize <= 0) {
        throw new IllegalArgumentException("Buffer size may not be negative or zero");
    }
    if (params == null) {
        throw new IllegalArgumentException("HTTP parameters may not be null");
    }
    this.instream = instream;
    this.buffer = new byte[buffersize];
    this.bufferpos = 0;
    this.bufferlen = 0;
    this.linebuffer = new ByteArrayBuffer(buffersize);
    this.charset = HttpProtocolParams.getHttpElementCharset(params);
    this.ascii = this.charset.equalsIgnoreCase(HTTP.US_ASCII) || this.charset.equalsIgnoreCase(HTTP.ASCII);
    this.maxLineLen = params.getIntParameter(CoreConnectionPNames.MAX_LINE_LENGTH, -1);
    this.metrics = new HttpTransportMetricsImpl();
}
Also used : ByteArrayBuffer(org.apache.http.util.ByteArrayBuffer)

Example 20 with ByteArrayBuffer

use of org.apache.http.util.ByteArrayBuffer in project ABPlayer by winkstu.

the class HttpUtil method getHtmlString.

public static String getHtmlString(String urlString) {
    try {
        URL url = new URL(urlString);
        URLConnection ucon = url.openConnection();
        InputStream instr = ucon.getInputStream();
        BufferedInputStream bis = new BufferedInputStream(instr);
        ByteArrayBuffer baf = new ByteArrayBuffer(500);
        int current = 0;
        while ((current = bis.read()) != -1) {
            baf.append((byte) current);
        }
        return EncodingUtils.getString(baf.toByteArray(), "utf-8");
    } catch (Exception e) {
        Log.d("win", "lllll" + e.toString());
        return "";
    }
}
Also used : BufferedInputStream(java.io.BufferedInputStream) GZIPInputStream(java.util.zip.GZIPInputStream) BufferedInputStream(java.io.BufferedInputStream) ZipInputStream(java.util.zip.ZipInputStream) InputStream(java.io.InputStream) URL(java.net.URL) HttpURLConnection(java.net.HttpURLConnection) URLConnection(java.net.URLConnection) ProtocolException(org.apache.http.ProtocolException) ClientProtocolException(org.apache.http.client.ClientProtocolException) DataFormatException(java.util.zip.DataFormatException) ConnectException(java.net.ConnectException) IOException(java.io.IOException) ByteArrayBuffer(org.apache.http.util.ByteArrayBuffer)

Aggregations

ByteArrayBuffer (org.apache.http.util.ByteArrayBuffer)24 InputStream (java.io.InputStream)14 IOException (java.io.IOException)12 BufferedInputStream (java.io.BufferedInputStream)7 URL (java.net.URL)7 URLConnection (java.net.URLConnection)7 DataInputStream (java.io.DataInputStream)6 FileInputStream (java.io.FileInputStream)6 FileOutputStream (java.io.FileOutputStream)6 ContentBody (com.lidroid.xutils.http.client.multipart.content.ContentBody)1 InterruptedIOException (java.io.InterruptedIOException)1 ConnectException (java.net.ConnectException)1 HttpURLConnection (java.net.HttpURLConnection)1 ByteBuffer (java.nio.ByteBuffer)1 DataFormatException (java.util.zip.DataFormatException)1 GZIPInputStream (java.util.zip.GZIPInputStream)1 ZipInputStream (java.util.zip.ZipInputStream)1 ProtocolException (org.apache.http.ProtocolException)1 ClientProtocolException (org.apache.http.client.ClientProtocolException)1