in dom/src/main/java/org/apache/james/mime4j/message/DefaultMessageBuilder.java [302:327]
public Message parseMessage(final InputStream is) throws IOException, MimeIOException {
try {
MessageImpl message = newMessageImpl();
MimeConfig cfg = config != null ? config : MimeConfig.DEFAULT;
boolean strict = cfg.isStrictParsing();
DecodeMonitor mon = monitor != null ? monitor :
strict ? DecodeMonitor.STRICT : DecodeMonitor.SILENT;
BodyDescriptorBuilder bdb = bodyDescBuilder != null ? bodyDescBuilder :
new DefaultBodyDescriptorBuilder(null, fieldParser != null ? fieldParser :
strict ? DefaultFieldParser.getParser() : LenientFieldParser.getParser(), mon);
BodyFactory bf = bodyFactory != null ? bodyFactory : new BasicBodyFactory(!strict);
MimeStreamParser parser = new MimeStreamParser(cfg, mon, bdb);
parser.setContentHandler(new ParserStreamContentHandler(message, bf));
parser.setContentDecoding(contentDecoding);
if (flatMode) {
parser.setFlat();
} else {
parser.setRecurse();
}
parser.parse(is);
parser.stop();
return message;
} catch (MimeException e) {
throw new MimeIOException(e);
}
}