code: private void readHttpDataChunkByChunk() {
          try {
              while (decoder.hasNext()) {
                  InterfaceHttpData data = decoder.next();
                  if (data != null) {
                      // check if current HttpData is a FileUpload and previously set as partial
                      if (partialContent == data) {
                          logger.info(" 100% (FinalSize: " + partialContent.length() + ")");
                          partialContent = null;
                      }
                      // new value
                      writeHttpData(data);
                  }
              }
              // Check partial decoding for a FileUpload
              InterfaceHttpData data = decoder.currentPartialHttpData();
              if (data != null) {
                  StringBuilder builder = new StringBuilder();
                  if (partialContent == null) {
                      partialContent = (HttpData) data;
                      if (partialContent instanceof FileUpload) {
                          builder.append("Start FileUpload: ")
                              .append(((FileUpload) partialContent).getFilename()).append(" ");
                      } else {
                          builder.append("Start Attribute: ")
                              .append(partialContent.getName()).append(" ");
                      }
                      builder.append("(DefinedSize: ").append(partialContent.definedLength()).append(")");
                  }
                  if (partialContent.definedLength() > 0) {
                      builder.append(" ").append(partialContent.length() * 100 / partialContent.definedLength())
                          .append("% ");
                      logger.info(builder.toString());
                  } else {
                      builder.append(" ").append(partialContent.length()).append(" ");
                      logger.info(builder.toString());
                  }
              }
          } catch (EndOfDataDecoderException e1) {
              // end
              responseContent.append("\r\n\r\nEND OF CONTENT CHUNK BY CHUNK\r\n\r\n");
          }
      }
docs: Example of reading request by chunk and getting values from chunk to chunk