List of usage examples for org.apache.http.util CharArrayBuffer CharArrayBuffer
public CharArrayBuffer(int i)
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; }