private static ContentType parse(final CharSequence s, final boolean strict) throws UnsupportedCharsetException { if (TextUtils.isBlank(s)) { return null; } final ParserCursor cursor = new ParserCursor(0, s.length()); final HeaderElement[] elements = BasicHeaderValueParser.INSTANCE.parseElements(s, cursor); if (elements.length > 0) { return create(elements[0], strict); } return null; }
private static ContentType parse(final CharSequence s, final boolean strict) throws UnsupportedCharsetException { if (TextUtils.isBlank(s)) { return null; } final ParserCursor cursor = new ParserCursor(0, s.length()); final HeaderElement[] elements = BasicHeaderValueParser.INSTANCE.parseElements(s, cursor); if (elements.length > 0) { return create(elements[0], strict); } return null; }
public static HeaderElement[] parse(final Header header) { Args.notNull(header, "Headers"); final String value = header.getValue(); if (value == null) { return new HeaderElement[] {}; } final ParserCursor cursor = new ParserCursor(0, value.length()); return BasicHeaderValueParser.INSTANCE.parseElements(value, cursor); }
public static HeaderElement[] parse(final Header header) { Args.notNull(header, "Headers"); final String value = header.getValue(); if (value == null) { return new HeaderElement[] {}; } final ParserCursor cursor = new ParserCursor(0, value.length()); return BasicHeaderValueParser.INSTANCE.parseElements(value, cursor); }
@Test public void testHEFringeCase3() throws Exception { final String headerValue = ",, ,, ,"; final CharArrayBuffer buf = new CharArrayBuffer(64); buf.append(headerValue); final ParserCursor cursor = new ParserCursor(0, buf.length()); final HeaderElement[] elements = this.parser.parseElements(buf, cursor); Assert.assertEquals("Number of elements", 0, elements.length); }
@Test public void testHEFringeCase1() throws Exception { final String headerValue = "name1 = value1,"; final CharArrayBuffer buf = new CharArrayBuffer(64); buf.append(headerValue); final ParserCursor cursor = new ParserCursor(0, buf.length()); final HeaderElement[] elements = this.parser.parseElements(buf, cursor); Assert.assertEquals("Number of elements", 1, elements.length); }
@Test public void testHEFringeCase2() throws Exception { final String headerValue = "name1 = value1, "; final CharArrayBuffer buf = new CharArrayBuffer(64); buf.append(headerValue); final ParserCursor cursor = new ParserCursor(0, buf.length()); final HeaderElement[] elements = this.parser.parseElements(buf, cursor); Assert.assertEquals("Number of elements", 1, elements.length); }
if (contentEncoding != null) { final ParserCursor cursor = new ParserCursor(0, contentEncoding.length()); final HeaderElement[] codecs = BasicHeaderValueParser.INSTANCE.parseElements(contentEncoding, cursor); for (final HeaderElement codec : codecs) { final String codecname = codec.getName().toLowerCase(Locale.ROOT);
@Test public void testParseHEEscaped() { final String headerValue = "test1 = \"\\\"stuff\\\"\", test2= \"\\\\\", test3 = \"stuff, stuff\""; final CharArrayBuffer buf = new CharArrayBuffer(64); buf.append(headerValue); final ParserCursor cursor = new ParserCursor(0, buf.length()); final HeaderElement[] elements = this.parser.parseElements(buf, cursor); Assert.assertEquals(3, elements.length); Assert.assertEquals("test1", elements[0].getName()); Assert.assertEquals("\"stuff\"", elements[0].getValue()); Assert.assertEquals("test2", elements[1].getName()); Assert.assertEquals("\\", elements[1].getValue()); Assert.assertEquals("test3", elements[2].getName()); Assert.assertEquals("stuff, stuff", elements[2].getValue()); }
buf.append(headerValue); final ParserCursor cursor = new ParserCursor(0, buf.length()); final HeaderElement[] elements = this.parser.parseElements(buf, cursor);