void getReadyForHeaders(final WriteContext wCtx) { headersByteArrayOutputStream.reset(); endOfLineBuffer.recycle(HEADER_DELIMITER, headersByteArrayOutputStream); headers = new HashMap<String, List<String>>(); goToState(State.READ_HEADERS); wCtx.setFinishedIfNoMoreData(); }
void getReadyForHeaders(final WriteContext wCtx) { headersByteArrayOutputStream.reset(); endOfLineBuffer.recycle(HEADER_DELIMITER, headersByteArrayOutputStream); headers = new HashMap<String, List<String>>(); goToState(State.READ_HEADERS); wCtx.setFinishedIfNoMoreData(); }
void nestedPartRead(final WriteContext wCtx){ delimiterPrefixes.pop(); delimiterType.reset(); endOfLineBuffer.recycle(getPreambleDelimiterPrefix(delimiterPrefixes.peek()), null); goToState(State.SKIP_PREAMBLE); nioMultipartParserListener.onNestedPartFinished(); wCtx.setFinishedIfNoMoreData(); }
void getReadyForBody(final WriteContext wCtx) { partBodyStreamStorage = partBodyStreamStorageFactory.newStreamStorageForPartBody(headers, partIndex); endOfLineBuffer.recycle(delimiterPrefixes.peek(), partBodyStreamStorage); delimiterType.reset(); goToState(State.READ_BODY); wCtx.setFinishedIfNoMoreData(); }
void nestedPartRead(final WriteContext wCtx){ delimiterPrefixes.pop(); delimiterType.reset(); endOfLineBuffer.recycle(getPreambleDelimiterPrefix(delimiterPrefixes.peek()), null); goToState(State.SKIP_PREAMBLE); nioMultipartParserListener.onNestedPartFinished(); wCtx.setFinishedIfNoMoreData(); }
void getReadyForBody(final WriteContext wCtx) { partBodyStreamStorage = partBodyStreamStorageFactory.newStreamStorageForPartBody(headers, partIndex); endOfLineBuffer.recycle(delimiterPrefixes.peek(), partBodyStreamStorage); delimiterType.reset(); goToState(State.READ_BODY); wCtx.setFinishedIfNoMoreData(); }
void getReadyForNestedMultipart(final WriteContext wCtx) { if (delimiterPrefixes.size() > maxLevelOfNestedMultipart + 1) { goToState(State.ERROR); nioMultipartParserListener.onError("Reached maximum number of nested multiparts: " + maxLevelOfNestedMultipart, null); } else { byte[] delimiter = getDelimiterPrefix(MultipartUtils.getHeader(MultipartUtils.CONTENT_TYPE, headers)); delimiterType.reset(); delimiterPrefixes.push(delimiter); endOfLineBuffer.recycle(getPreambleDelimiterPrefix(delimiter), null); goToState(State.SKIP_PREAMBLE); nioMultipartParserListener.onNestedPartStarted(headers); } wCtx.setFinishedIfNoMoreData(); }
void getReadyForNestedMultipart(final WriteContext wCtx) { if (delimiterPrefixes.size() > maxLevelOfNestedMultipart + 1) { goToState(State.ERROR); nioMultipartParserListener.onError("Reached maximum number of nested multiparts: " + maxLevelOfNestedMultipart, null); } else { byte[] delimiter = getDelimiterPrefix(MultipartUtils.getHeader(MultipartUtils.CONTENT_TYPE, headers)); delimiterType.reset(); delimiterPrefixes.push(delimiter); endOfLineBuffer.recycle(getPreambleDelimiterPrefix(delimiter), null); goToState(State.SKIP_PREAMBLE); nioMultipartParserListener.onNestedPartStarted(headers); } wCtx.setFinishedIfNoMoreData(); }