private void parse() { parsed = true; RawField f = getRawField(); RawBody body = RawFieldParser.DEFAULT.parseRawBody(f); String main = body.getValue(); if (main != null) { dispositionType = main.toLowerCase(Locale.US); } else { dispositionType = null; } parameters.clear(); for (NameValuePair nmp: body.getParams()) { String name = nmp.getName().toLowerCase(Locale.US); parameters.put(name, nmp.getValue()); } }
/** * Parses the sequence of bytes containing a value with parameters into {@link RawBody}. * * @param buf buffer with the sequence of bytes to be parsed * @param cursor defines the bounds and current position of the buffer */ public RawBody parseRawBody(final ByteSequence buf, final ParserCursor cursor) { String value = parseToken(buf, cursor, SEMICOLON); if (cursor.atEnd()) { return new RawBody(value, new ArrayList<NameValuePair>()); } cursor.updatePos(cursor.getPos() + 1); List<NameValuePair> params = parseParameters(buf, cursor); return new RawBody(value, params); }
RawField f = getRawField(); RawBody body = RawFieldParser.DEFAULT.parseRawBody(f); String main = body.getValue(); String type = null; String subtype = null; subType = subtype; parameters.clear(); for (NameValuePair nmp: body.getParams()) { String name = nmp.getName().toLowerCase(Locale.US); parameters.put(name, nmp.getValue());
/** * Parses the field body containing a value with parameters into {@link RawBody}. * * @param field unstructured (raw) field */ public RawBody parseRawBody(final RawField field) { ByteSequence buf = field.getRaw(); int pos = field.getDelimiterIdx() + 1; if (buf == null) { String body = field.getBody(); if (body == null) { return new RawBody("", null); } buf = ContentUtil.encode(body); pos = 0; } ParserCursor cursor = new ParserCursor(pos, buf.length()); return parseRawBody(buf, cursor); }