List of usage examples for org.apache.http.util CharArrayBuffer CharArrayBuffer
public CharArrayBuffer(int i)
From source file:Main.java
public static String gzipToString(final HttpEntity entity, final String defaultCharset) throws IOException, ParseException { if (entity == null) { throw new IllegalArgumentException("HTTP entity may not be null"); }/* ww w.ja v a 2 s . co m*/ InputStream instream = entity.getContent(); if (instream == null) { return ""; } // gzip logic start if (entity.getContentEncoding().getValue().contains("gzip")) { instream = new GZIPInputStream(instream); } // gzip logic end if (entity.getContentLength() > Integer.MAX_VALUE) { throw new IllegalArgumentException("HTTP entity too large to be buffered in memory"); } int i = (int) entity.getContentLength(); if (i < 0) { i = 4096; } String charset = EntityUtils.getContentCharSet(entity); if (charset == null) { charset = defaultCharset; } if (charset == null) { charset = HTTP.DEFAULT_CONTENT_CHARSET; } Reader reader = new InputStreamReader(instream, charset); CharArrayBuffer buffer = new CharArrayBuffer(i); try { char[] tmp = new char[1024]; int l; while ((l = reader.read(tmp)) != -1) { buffer.append(tmp, 0, l); } } finally { reader.close(); } return buffer.toString(); }
From source file:com.ok2c.lightmtp.impl.protocol.TestSMTPInOutBuffers.java
@Test public void testReadLineChunks() throws Exception { SessionInputBuffer inbuf = new SMTPInputBuffer(16, 16); ReadableByteChannel channel = newChannel("O\ne\r\nTwo\r\nTh\ree"); inbuf.fill(channel);//from w w w. ja v a 2 s. co m CharArrayBuffer line = new CharArrayBuffer(64); line.clear(); Assert.assertTrue(inbuf.readLine(line, false)); Assert.assertEquals("O", line.toString()); line.clear(); Assert.assertTrue(inbuf.readLine(line, false)); Assert.assertEquals("e", line.toString()); line.clear(); Assert.assertTrue(inbuf.readLine(line, false)); Assert.assertEquals("Two", line.toString()); line.clear(); Assert.assertFalse(inbuf.readLine(line, false)); channel = newChannel("\r\nFour"); inbuf.fill(channel); line.clear(); Assert.assertTrue(inbuf.readLine(line, false)); Assert.assertEquals("Th\ree", line.toString()); inbuf.fill(channel); line.clear(); Assert.assertTrue(inbuf.readLine(line, true)); Assert.assertEquals("Four", line.toString()); line.clear(); Assert.assertFalse(inbuf.readLine(line, true)); }
From source file:io.cloudslang.content.httpclient.build.HeadersBuilder.java
public List<Header> buildHeaders() { ArrayList<Header> headersArr = new ArrayList<>(); if (!StringUtils.isEmpty(headers)) { BufferedReader in = new BufferedReader(new StringReader(headers)); String str;/*from ww w. java2 s. co m*/ try { while ((str = in.readLine()) != null) { CharArrayBuffer charArrayBuffer = new CharArrayBuffer(str.length()); charArrayBuffer.append(str); headersArr.add(new BufferedHeader(charArrayBuffer)); } } catch (IOException e) { throw new IllegalArgumentException(e); } } if (entityContentType != null) { headersArr.add(entityContentType); } else if (contentType != null && !contentType.toString().isEmpty()) { headersArr.add(new BasicHeader("Content-Type", contentType.toString())); } return headersArr; }
From source file:com.subgraph.vega.ui.httpeditor.parser.HttpResponseParser.java
/** * Parse a HTTP response in a string./*from w ww . j a v a 2 s . com*/ * * @param content HTTP response string. * @return HttpResponse, or null if the given HTTP response was empty. * @throws UnsupportedEncodingException */ public void parseResponse(final String content) throws UnsupportedEncodingException { final CharArrayBuffer buf = new CharArrayBuffer(0); buf.append(content); final ParserCursor bufCursor = new ParserCursor(0, buf.length()); final LineParser parser = new BasicLineParser(); if (parseStatusLine(parser, builder, buf, bufCursor) < 0) { return; } builder.clearHeaders(); parseHeaders(parser, builder, buf, bufCursor); if (!bufCursor.atEnd() && parseInlineEntities) { StringEntity entity = new StringEntity(buf.substring(bufCursor.getPos(), bufCursor.getUpperBound())); builder.setEntity(entity); } }
From source file:com.mcxiaoke.next.http.entity.BasicHeaderValueParser.java
/** * Parses elements with the given parser. * * @param value the header value to parse * @param parser the parser to use, or <code>null</code> for default * @return array holding the header elements, never <code>null</code> */// ww w . j a va2 s .co m public static HeaderElement[] parseElements(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).parseElements(buffer, cursor); }
From source file:com.subgraph.vega.ui.httpeditor.parser.HttpRequestParser.java
/** * Parse a manually-entered HTTP request into the IHttpRequestBuilder. * //w w w. java2 s . c om * @param content Manually-entered HTTP request. */ public void parseRequest(final String content) throws URISyntaxException, UnsupportedEncodingException { final CharArrayBuffer buf = new CharArrayBuffer(0); buf.append(content); final ParserCursor bufCursor = new ParserCursor(0, buf.length()); final LineParser parser = new BasicLineParser(); if (parseRequestLine(parser, builder, buf, bufCursor) < 0) { return; } builder.clearHeaders(); parseHeaders(parser, builder, buf, bufCursor); if (!bufCursor.atEnd() && parseInlineEntities) { StringEntity entity = new StringEntity(buf.substring(bufCursor.getPos(), bufCursor.getUpperBound())); builder.setEntity(entity); } }
From source file:net.swas.explorer.httpprofile.DefaultHttpResponseParser.java
/** * Creates an instance of this class.// ww w . ja va 2 s . com * * @param buffer the session input buffer. * @param parser the line parser. * @param responseFactory the factory to use to create http response. * @param params HTTP parameters. */ public DefaultHttpResponseParser(SessionInputBuffer buffer, LineParser parser, HttpResponseFactory responseFactory, HttpParams params) { super(buffer, parser, params); if (responseFactory == null) { throw new IllegalArgumentException("Response factory may not be null"); } this.responseFactory = responseFactory; this.lineBuf = new CharArrayBuffer(128); }
From source file:com.jayway.restassured.internal.http.BasicNameValuePairWithNoValueSupport.java
public String toString() { // don't call complex default formatting for a simple toString if (this.value == null) { return name; } else {/* w ww .j a v a 2 s .co m*/ int len = this.name.length() + 1 + this.value.length(); CharArrayBuffer buffer = new CharArrayBuffer(len); buffer.append(this.name); if (!noValueParam) { buffer.append("="); buffer.append(this.value); } return buffer.toString(); } }
From source file:org.apache.axis2.transport.http.server.ResponseSessionCookie.java
public void process(final HttpResponse response, final HttpContext context) throws HttpException, IOException { if (response == null) { throw new IllegalArgumentException("HTTP response may not be null"); }//w w w .j a v a 2 s. c o m if (context == null) { throw new IllegalArgumentException("HTTP context may not be null"); } String sessionCookie = null; MessageContext msgctx = (MessageContext) context.getAttribute(AxisParams.MESSAGE_CONTEXT); if (msgctx != null) { sessionCookie = (String) msgctx.getProperty(HTTPConstants.COOKIE_STRING); } if (sessionCookie == null) { sessionCookie = (String) context.getAttribute(HTTPConstants.COOKIE_STRING); } if (sessionCookie != null) { // Generate Netscape style cookie header CharArrayBuffer buffer1 = new CharArrayBuffer(sessionCookie.length() + 40); buffer1.append(HTTPConstants.HEADER_SET_COOKIE); buffer1.append(": "); buffer1.append(Constants.SESSION_COOKIE_JSESSIONID); buffer1.append("="); buffer1.append(sessionCookie); response.addHeader(new BufferedHeader(buffer1)); // Generate RFC2965 cookie2 header CharArrayBuffer buffer2 = new CharArrayBuffer(sessionCookie.length() + 50); buffer2.append(HTTPConstants.HEADER_SET_COOKIE2); buffer2.append(": "); buffer2.append(Constants.SESSION_COOKIE_JSESSIONID); buffer2.append("="); buffer2.append(sessionCookie); buffer2.append("; "); int port = response.getParams().getIntParameter(AxisParams.LISTENER_PORT, 0); if (port > 0) { buffer2.append("Port=\""); buffer2.append(Integer.toString(port)); buffer2.append("\"; "); } buffer2.append("Version=1"); response.addHeader(new BufferedHeader(buffer2)); } }
From source file:Main.java
/** * Returns a list of {@link org.apache.http.NameValuePair NameValuePairs} as parsed. * * @param s text to parse.//from w w w .ja v a2s . c o m * @since 4.2 */ public static List<NameValuePair> parse(final String s) { 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(nvp.getName(), nvp.getValue())); } } return list; }