MimeEntity( LineNumberSource lineSource, InputStream instream, MimeConfig config, EntityState startState, EntityState endState, BodyDescriptorBuilder bodyDescBuilder) { this(lineSource, instream, config, startState, endState, config.isStrictParsing() ? DecodeMonitor.STRICT : DecodeMonitor.SILENT, new DefaultFieldBuilder(config.getMaxHeaderLen()), bodyDescBuilder); }
MimeEntity( LineNumberSource lineSource, InputStream instream, MimeConfig config, BodyDescriptorBuilder bodyDescBuilder) { this(lineSource, instream, config, EntityState.T_START_MESSAGE, EntityState.T_END_MESSAGE, config.isStrictParsing() ? DecodeMonitor.STRICT : DecodeMonitor.SILENT, new DefaultFieldBuilder(config.getMaxHeaderLen()), bodyDescBuilder); }
xhtml, localDetector, metadata, context, config.isStrictParsing(), extractAllAlternatives); parser.setContentHandler(mch);
public MimeTokenStream( final MimeConfig config, final DecodeMonitor monitor, final FieldBuilder fieldBuilder, final BodyDescriptorBuilder bodyDescBuilder) { super(); this.config = config != null ? config : MimeConfig.DEFAULT; this.fieldBuilder = fieldBuilder != null ? fieldBuilder : new DefaultFieldBuilder(this.config.getMaxHeaderLen()); this.monitor = monitor != null ? monitor : (this.config.isStrictParsing() ? DecodeMonitor.STRICT : DecodeMonitor.SILENT); this.bodyDescBuilder = bodyDescBuilder != null ? bodyDescBuilder : new FallbackBodyDescriptorBuilder(); }
private void createMimePartStream() throws MimeException, IOException { String boundary = body.getBoundary(); if (boundary == null) { throw new MimeException("Multipart body does not have a valid boundary"); } try { currentMimePartStream = new MimeBoundaryInputStream(inbuffer, boundary, config.isStrictParsing()); } catch (IllegalArgumentException e) { // thrown when boundary is too long throw new MimeException(e.getMessage(), e); } dataStream = new LineReaderInputStreamAdaptor( currentMimePartStream, config.getMaxLineLen()); }
public Header parseHeader(final InputStream is) throws IOException, MimeIOException { final MimeConfig cfg = config != null ? config : MimeConfig.DEFAULT; boolean strict = cfg.isStrictParsing(); final DecodeMonitor mon = monitor != null ? monitor : strict ? DecodeMonitor.STRICT : DecodeMonitor.SILENT;
public static MimeConfig.Builder copy(final MimeConfig config) { if (config == null) { throw new IllegalArgumentException("Config may not be null"); } return new Builder() .setStrictParsing(config.isStrictParsing()) .setMaxLineLen(config.getMaxLineLen()) .setMaxHeaderCount(config.getMaxHeaderCount()) .setMaxHeaderLen(config.getMaxHeaderLen()) .setMaxContentLen(config.getMaxContentLen()) .setCountLineNumbers(config.isCountLineNumbers()) .setHeadlessParsing(config.getHeadlessParsing()) .setMalformedHeaderStartsBody(config.isMalformedHeaderStartsBody()); }
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); return message; } catch (MimeException e) { throw new MimeIOException(e); } }
xhtml, metadata, context, config.isStrictParsing()); parser.setContentHandler(mch); parser.setContentDecoding(true);
public Builder parse(final InputStream is) throws IOException { MimeConfig currentConfig = config != null ? config : MimeConfig.DEFAULT; boolean strict = currentConfig.isStrictParsing(); DecodeMonitor currentMonitor = monitor != null ? monitor : strict ? DecodeMonitor.STRICT : DecodeMonitor.SILENT; BodyDescriptorBuilder currentBodyDescBuilder = bodyDescBuilder != null ? bodyDescBuilder : new DefaultBodyDescriptorBuilder(null, fieldParser != null ? fieldParser : strict ? DefaultFieldParser.getParser() : LenientFieldParser.getParser(), currentMonitor); BodyFactory currentBodyFactory = bodyFactory != null ? bodyFactory : new BasicBodyFactory(!strict); MimeStreamParser parser = new MimeStreamParser(currentConfig, currentMonitor, currentBodyDescBuilder); Message message = new MessageImpl(); parser.setContentHandler(new ParserStreamContentHandler(message, currentBodyFactory)); parser.setContentDecoding(!rawContent); if (flatMode) { parser.setFlat(); } try { parser.parse(is); } catch (MimeException e) { throw new MimeIOException(e); } clearFields(); final List<Field> fields = message.getHeader().getFields(); for (Field field: fields) { addField(field); } setBody(message.getBody()); return this; }
xhtml, localDetector, metadata, context, config.isStrictParsing(), extractAllAlternatives); parser.setContentHandler(mch);