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: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;
}