Example usage for org.apache.http.util CharArrayBuffer CharArrayBuffer

List of usage examples for org.apache.http.util CharArrayBuffer CharArrayBuffer

Introduction

In this page you can find the example usage for org.apache.http.util CharArrayBuffer CharArrayBuffer.

Prototype

public CharArrayBuffer(int i) 

Source Link

Usage

From source file:me.xiaopan.android.gohttp.StringHttpResponseHandler.java

private String toString(HttpRequest httpRequest, final HttpEntity entity, final String defaultCharset)
        throws IOException, ParseException {
    InputStream inputStream = entity.getContent();
    if (inputStream == null) {
        return "";
    }//www .  ja v  a  2s .c o  m
    if (entity.getContentLength() > Integer.MAX_VALUE) {
        throw new IllegalArgumentException("HTTP entity too large to be buffered in memory");
    }
    int contentLength = (int) entity.getContentLength();
    if (contentLength < 0) {
        contentLength = 4096;
    }
    String charset = getContentCharSet(entity);
    if (charset == null) {
        charset = defaultCharset;
    }
    if (charset == null) {
        charset = HTTP.DEFAULT_CONTENT_CHARSET;
    }

    long averageLength = contentLength / httpRequest.getProgressCallbackNumber();
    int callbackNumber = 0;
    Reader reader = new InputStreamReader(inputStream, charset);
    CharArrayBuffer buffer = new CharArrayBuffer(contentLength);
    HttpRequest.ProgressListener progressListener = httpRequest.getProgressListener();
    try {
        char[] tmp = new char[1024];
        int readLength;
        long completedLength = 0;
        while (!httpRequest.isStopReadData() && (readLength = reader.read(tmp)) != -1) {
            buffer.append(tmp, 0, readLength);
            completedLength += readLength;
            if (progressListener != null && !httpRequest.isCanceled()
                    && (completedLength >= (callbackNumber + 1) * averageLength
                            || completedLength == contentLength)) {
                callbackNumber++;
                new HttpRequestHandler.UpdateProgressRunnable(httpRequest, contentLength, completedLength)
                        .execute();
            }
        }
    } finally {
        reader.close();
    }
    return buffer.toString();
}

From source file:tv.arte.resteventapi.core.clients.RestEventApiRestClient.java

/**
 * Executes the REST request described by the {@link RestEvent}
 * //from w  w  w.j  a  va 2 s  . co  m
 * @param restEvent The {@link RestEvent} to process
 * @return A result of the execution
 * @throws RestEventApiRuntimeException In case of non managed errors
 */
public static RestClientExecutionResult execute(final RestEvent restEvent) throws RestEventApiRuntimeException {
    RestClientExecutionResult result = new RestClientExecutionResult();
    String url = restEvent.getUrl();
    CloseableHttpClient client = null;
    HttpUriRequest request = null;
    Integer responseCode = null;

    try {
        //Request custom configs
        RequestConfig.Builder requestBuilder = RequestConfig.custom();
        requestBuilder = requestBuilder.setConnectTimeout(restEvent.getTimeout());
        requestBuilder = requestBuilder.setConnectionRequestTimeout(restEvent.getTimeout());

        client = HttpClientBuilder.create().setDefaultRequestConfig(requestBuilder.build()).build();

        //Determine the method to execute
        switch (restEvent.getMethod()) {
        case GET:
            request = new HttpGet(url);
            break;
        case POST:
            request = new HttpPost(url);
            break;
        case PUT:
            request = new HttpPut(url);
            break;
        case DELETE:
            request = new HttpDelete(url);
            break;
        case PATCH:
            request = new HttpPatch(url);
            break;
        case HEAD:
            request = new HttpHead(url);
            break;
        default:
            throw new RestEventApiRuntimeException("RestEventAPI unsupported HTTP method");
        }

        //Set the body for eligible methods
        if (restEvent.getBody() != null && request instanceof HttpEntityEnclosingRequestBase) {
            ((HttpEntityEnclosingRequestBase) request).setEntity(new StringEntity(restEvent.getBody()));
        }

        //Set headers
        if (CollectionUtils.isNotEmpty(restEvent.getHeaders())) {
            for (String strHeader : restEvent.getHeaders()) {
                CharArrayBuffer headerBuffer = new CharArrayBuffer(strHeader.length() + 1);
                headerBuffer.append(strHeader);
                request.addHeader(new BufferedHeader(headerBuffer));
            }
        }

        HttpResponse response = client.execute(request);
        responseCode = response.getStatusLine().getStatusCode();

        result.setState(RestClientCallState.OK);
    } catch (ConnectTimeoutException e) {
        result.setState(RestClientCallState.TIMEOUT);
    } catch (Exception e) {
        throw new RestEventApiRuntimeException("Un error occured while processing rest event", e);
    } finally {
        result.setResponseCode(responseCode);

        try {
            client.close();
        } catch (Exception e2) {
            logger.warn("Unable to close HTTP client", e2);
        }
    }

    return result;
}

From source file:com.mcxiaoke.next.http.entity.BasicHeaderValueParser.java

/**
 * Parses parameters with the given parser.
 *
 * @param value  the parameter list to parse
 * @param parser the parser to use, or <code>null</code> for default
 * @return array holding the parameters, never <code>null</code>
 *///from ww w .j a v  a 2 s.c  o m
public static NameValuePair[] parseParameters(final String value, final HeaderValueParser parser)
        throws ParseException {
    AssertUtils.notNull(value, "Value");

    final CharArrayBuffer buffer = new CharArrayBuffer(value.length());
    buffer.append(value);
    final ParserCursor cursor = new ParserCursor(0, value.length());
    return (parser != null ? parser : BasicHeaderValueParser.INSTANCE).parseParameters(buffer, cursor);
}

From source file:com.ok2c.lightmtp.impl.protocol.ReceiveDataCodec.java

public ReceiveDataCodec(final SMTPBuffers iobuffers, final File workingDir, final DeliveryHandler handler,
        final DataAckMode mode) {
    super();/*from w  ww.ja  v a  2 s .  c  o m*/
    Args.notNull(iobuffers, "IO buffers");
    Args.notNull(workingDir, "Working directory");
    Args.notNull(handler, "Devliry handler");
    this.iobuffers = iobuffers;
    this.workingDir = workingDir;
    this.handler = handler;
    this.mode = mode != null ? mode : DataAckMode.SINGLE;
    this.writer = new SMTPReplyWriter(true);
    this.pendingReplies = new LinkedList<SMTPReply>();
    this.lineBuf = new CharArrayBuffer(LINE_SIZE);
    this.contentBuf = new SMTPOutputBuffer(BUF_SIZE, LINE_SIZE, SMTPConsts.ISO_8859_1);

    this.dataReceived = false;
    this.pendingDelivery = null;
    this.completed = false;
}

From source file:org.vietspider.net.apache.DefaultResponseParser.java

public DefaultResponseParser(final SessionInputBuffer buffer, final LineParser parser,
        final HttpResponseFactory responseFactory, final HttpParams params) {
    if (buffer == null) {
        throw new IllegalArgumentException("Session input buffer may not be null");
    }// w  w w.  j  ava 2s . co  m
    if (params == null) {
        throw new IllegalArgumentException("HTTP parameters may not be null");
    }

    this._sessionBuffer = buffer;
    //    this.timeoutSocket = params.getBooleanParameter("vietspider.socket.timeout", false);
    this.maxHeaderCount = params.getIntParameter(CoreConnectionPNames.MAX_HEADER_COUNT, -1);
    this.maxLineLen = params.getIntParameter(CoreConnectionPNames.MAX_LINE_LENGTH, -1);
    this.lineParser = (parser != null) ? parser : BasicLineParser.DEFAULT;

    if (responseFactory == null) {
        throw new IllegalArgumentException("Response factory may not be null");
    }

    this.responseFactory = responseFactory;
    this.lineBuf = new CharArrayBuffer(128);
    this.maxGarbageLines = params.getIntParameter(ConnConnectionPNames.MAX_STATUS_LINE_GARBAGE,
            Integer.MAX_VALUE);
}

From source file:android.core.HttpHeaderTest.java

public void testCacheControlMultipleArguments() throws Exception {
    // get private method CacheManager.parseHeaders()
    Method m = CacheManager.class.getDeclaredMethod("parseHeaders",
            new Class[] { int.class, Headers.class, String.class });
    m.setAccessible(true);/*from  w ww .  j  av  a 2 s  .  com*/

    // create indata
    Headers h = new Headers();
    CharArrayBuffer buffer = new CharArrayBuffer(64);
    buffer.append(CACHE_CONTROL_COMPOUND);
    h.parseHeader(buffer);

    CacheResult c = (CacheResult) m.invoke(null, 200, h, "text/html");

    // Check that expires is set to 0, to ensure that no-cache has overridden
    // the max-age argument
    assertEquals(0, c.getExpires());

    // check reverse order
    buffer.clear();
    buffer.append(CACHE_CONTROL_COMPOUND2);
    h.parseHeader(buffer);

    c = (CacheResult) m.invoke(null, 200, h, "text/html");
    assertEquals(0, c.getExpires());
}

From source file:com.ok2c.lightmtp.util.InetAddressRangeParser.java

public List<InetAddressRange> parseAll(final String s) throws ParseException, UnknownHostException {
    CharArrayBuffer buffer = new CharArrayBuffer(s.length());
    buffer.append(s);/*from w ww .ja  va2  s  .  c o  m*/
    ParserCursor cursor = new ParserCursor(0, s.length());
    return parseAll(buffer, cursor, null);
}

From source file:com.grendelscan.commons.http.apache_overrides.serializable.SerializableNameValuePair.java

/**
 * Get a string representation of this pair.
 * //from w w  w  . j a va 2 s.c  o m
 * @return A string representation.
 */
@Override
public String toString() {
    // don't call complex default formatting for a simple toString

    int len = name.length();
    if (value != null) {
        len += 1 + value.length();
    }
    CharArrayBuffer buffer = new CharArrayBuffer(len);

    buffer.append(name);
    if (value != null) {
        buffer.append("=");
        buffer.append(value);
    }
    return buffer.toString();
}

From source file:com.mcxiaoke.next.http.entity.BasicHeaderValueParser.java

/**
 * Parses a name-value-pair with the given parser.
 *
 * @param value  the NVP to parse// w  ww .j  a  v  a2 s . com
 * @param parser the parser to use, or <code>null</code> for default
 * @return the parsed name-value pair
 */
public static NameValuePair parseNameValuePair(final String value, final HeaderValueParser parser)
        throws ParseException {
    AssertUtils.notNull(value, "Value");

    final CharArrayBuffer buffer = new CharArrayBuffer(value.length());
    buffer.append(value);
    final ParserCursor cursor = new ParserCursor(0, value.length());
    return (parser != null ? parser : BasicHeaderValueParser.INSTANCE).parseNameValuePair(buffer, cursor);
}

From source file:com.android.idtt.http.client.util.URLEncodedUtils.java

/**
 * Returns a list of {@link org.apache.http.NameValuePair NameValuePairs} as parsed from the given string
 * using the given character encoding.// w  ww .j av a  2 s  .c om
 *
 * @param s       text to parse.
 * @param charset Encoding to use when decoding the parameters.
 * @since 4.2
 */
public static List<NameValuePair> parse(final String s, final Charset charset) {
    if (s == null) {
        return Collections.emptyList();
    }
    BasicHeaderValueParser parser = BasicHeaderValueParser.DEFAULT;
    CharArrayBuffer buffer = new CharArrayBuffer(s.length());
    buffer.append(s);
    ParserCursor cursor = new ParserCursor(0, buffer.length());
    List<NameValuePair> list = new ArrayList<NameValuePair>();
    while (!cursor.atEnd()) {
        NameValuePair nvp = parser.parseNameValuePair(buffer, cursor, DELIM);
        if (nvp.getName().length() > 0) {
            list.add(new BasicNameValuePair(decodeFormFields(nvp.getName(), charset),
                    decodeFormFields(nvp.getValue(), charset)));
        }
    }
    return list;
}