/// <summary> /// Creates a stream that reads until it reaches the given boundary pattern. /// </summary> /// <param name="stream">The <see cref="BufferedReadStream"/>.</param> /// <param name="boundary">The boundary pattern to use.</param> /// <param name="bytePool">The ArrayPool pool to use for temporary byte arrays.</param> public MultipartReaderStream(BufferedReadStream stream, MultipartBoundary boundary, ArrayPool <byte> bytePool) { if (stream == null) { throw new ArgumentNullException(nameof(stream)); } if (boundary == null) { throw new ArgumentNullException(nameof(boundary)); } _bytePool = bytePool; _innerStream = stream; _innerOffset = _innerStream.CanSeek ? _innerStream.Position : 0; _boundary = boundary; }
/// <summary> /// Creates a stream that reads until it reaches the given boundary pattern. /// </summary> /// <param name="stream">The <see cref="BufferedReadStream"/>.</param> /// <param name="boundary">The boundary pattern to use.</param> public MultipartReaderStream(BufferedReadStream stream, MultipartBoundary boundary) : this(stream, boundary, ArrayPool <byte> .Shared) { }