@Override public void field(Field rawField) throws MimeException { String name = rawField.getName(); String raw = rawField.getRaw().toString(); part.addRawHeader(name, raw); }
@Override public void field(Field parsedField) throws MimeException { expect(Part.class); String name = parsedField.getName(); String raw = parsedField.getRaw().toString(); ((Part) stack.peek()).addRawHeader(name, raw); } }
@Override public void field(Field parsedField) throws MimeException { String name = parsedField.getName(); String raw = parsedField.getRaw().toString(); Part part = (Part) stack.peek(); part.addRawHeader(name, raw); String fieldImmediateValue = MimeUtility.getHeaderParameter(parsedField.getBody(), null); if ("Content-Type".equalsIgnoreCase(name) && MimeUtility.isMessage(fieldImmediateValue)) { isMessagePart = true; } if ("Content-Disposition".equalsIgnoreCase(name) && "attachment".equalsIgnoreCase(fieldImmediateValue)) { isContentDispositionAttachment = true; } }
private String stripOutFieldPrefix(Field field, String fieldname) { String temp = field.getRaw().toString(); int loc = fieldname.length(); while (temp.charAt(loc) == ' ') { loc++; } return temp.substring(loc); }
/** * Gets original (raw) representation of the field, if available, * <code>null</code> otherwise. */ public ByteSequence getRaw() { return rawField.getRaw(); }
private String stripOutFieldPrefix(Field field, String fieldname) { String temp = field.getRaw().toString(); int loc = fieldname.length(); while (temp.charAt(loc) == ' ') { loc++; } return temp.substring(loc); }
private String stripOutFieldPrefix(Field field, String fieldname) { String temp = field.getRaw().toString(); int loc = fieldname.length(); while (temp.charAt(loc) == ' ') { loc++; } return temp.substring(loc); }
/** * Write the specified <code>Field</code> to the specified * <code>OutputStream</code>. * * @param field * the <code>Field</code> to write. * @param out * the OutputStream to write to. * @throws IOException * if an I/O error occurs. */ public void writeField(Field field, OutputStream out) throws IOException { ByteSequence raw = field.getRaw(); if (raw == null) { StringBuilder buf = new StringBuilder(); buf.append(field.getName()); buf.append(": "); String body = field.getBody(); if (body != null) { buf.append(body); } raw = ContentUtil.encode(MimeUtil.fold(buf.toString(), 0)); } writeBytes(raw, out); out.write(CRLF); }
@Override public void field(Field field) throws MimeException { String fieldValue; if (field instanceof RawField) { // check if we can access the body in the raw form so no unfolding was done under the hood ByteSequence raw = field.getRaw(); int len = raw.length(); int off = ((RawField) field).getDelimiterIdx() + 1; if (len > off + 1 && (raw.byteAt(off) & 0xff) == 0x20) { off++; } fieldValue = ContentUtil.decode(raw, off, len - off); } else { fieldValue = field.getBody(); } if (fieldValue.endsWith("\r\f")) { fieldValue = fieldValue.substring(0,fieldValue.length() - 2); } if (fieldValue.startsWith(" ")) { fieldValue = fieldValue.substring(1); } final ResultHeader resultHeader = new ResultHeader(field.getName(), fieldValue); results.add(resultHeader); } });