private void advancedToMessage() throws IOException, UnexpectedEOFException, MimeException { for (EntityState state = parser.getState(); state != EntityState.T_START_MESSAGE; state = parser .next()) { if (state == EntityState.T_END_OF_STREAM) { throw new UnexpectedEOFException(); } } }
public void run(byte[] content, int repetitions) throws Exception { MimeTokenStream stream = new MimeTokenStream(); for (int i = 0; i < repetitions; i++) { stream.parse(new ByteArrayInputStream(content)); for (EntityState state = stream.getState(); state != EntityState.T_END_OF_STREAM; state = stream .next()) { } } } }
private byte[] mimeBodyContent() throws IOException, MimeException { final byte[] content; if (empty) { content = EMPTY; } else { parser.setRecursionMode(RecursionMode.M_FLAT); boolean valid = true; for (EntityState state = parser.getState(); state != EntityState.T_BODY && state != EntityState.T_START_MULTIPART; state = parser .next()) { if (state == EntityState.T_END_OF_STREAM) { valid = false; break; } } if (valid) { content = IOUtils.toByteArray(parser.getInputStream()); } else { content = EMPTY; } } return content; }
public MimePart parse() throws IOException, MimeException { stream.parse(message.getFullContent()); for (EntityState state = stream.getState(); state != EntityState.T_END_OF_STREAM; state = stream.next()) { processMimePart(stream, state); } return result; }
MimeTokenStream stream = new MimeTokenStream(); stream.parse(instream); for (EntityState state = stream.getState(); state != EntityState.T_END_OF_STREAM; state = stream .next()) { switch (state) {
for (EntityState state = parser.getState(); state != EntityState.T_BODY && state != EntityState.T_START_MULTIPART; state = parser .next()) {
currentPart = null; if (parser.getState() == EntityState.T_END_MULTIPART) { return null; } else {
advancedToMessage(); for (EntityState state = parser.getState(); state != EntityState.T_END_HEADER; state = parser .next()) { switch (state) {
} else { results = new ArrayList<>(); for (EntityState state = parser.getState(); state != EntityState.T_END_HEADER; state = parser .next()) { switch (state) {
switch (state) { case STATE_UNREAD: checkParserState(parser.getState(), EntityState.T_BODY);
InputStream getInputStream(boolean preserve) throws IOException { if (!preserve && state == STATE_UNREAD) { checkParserState(parser.getState(), EntityState.T_BODY); state = STATE_STREAMING; detachableInputStream = new DetachableInputStream(getDecodedInputStream()); return detachableInputStream; } else { WritableBlob content = getContent(); if (preserve) { return content.getInputStream(); } else if (content instanceof MemoryBlob) { return ((MemoryBlob)content).readOnce(); } else { return new ReadOnceInputStreamWrapper(this, content.getInputStream()); } } }
while (parser.getState() != EntityState.T_START_BODYPART) { try { parser.next();
parser.parse(input); while (parser.next() != EntityState.T_END_OF_STREAM) { final EntityState state = parser.getState(); switch (state) { case T_PREAMBLE:
EntityState state = mimeTokenStream.getState(); switch (state) { case T_BODY: