/// <summary> /// Constructor. /// </summary> /// <param name="inputContext">The input context to read the content from.</param> /// <param name="batchBoundary">The boundary string for the batch structure itself.</param> /// <param name="batchEncoding">The encoding to use to read from the batch stream.</param> /// <param name="synchronous">true if the reader is created for synchronous operation; false for asynchronous.</param> internal ODataMultipartMixedBatchReader(ODataMultipartMixedBatchInputContext inputContext, string batchBoundary, Encoding batchEncoding, bool synchronous) : base(inputContext, synchronous) { Debug.Assert(inputContext != null, "inputContext != null"); Debug.Assert(!string.IsNullOrEmpty(batchBoundary), "!string.IsNullOrEmpty(batchBoundary)"); this.batchStream = new ODataMultipartMixedBatchReaderStream(this.MultipartMixedBatchInputContext, batchBoundary, batchEncoding); }
/// <summary> /// Constructor. /// </summary> /// <param name="inputContext">The input context to read the content from.</param> /// <param name="batchBoundary">The boundary string for the batch structure itself.</param> /// <param name="batchEncoding">The encoding to use to read from the batch stream.</param> internal ODataMultipartMixedBatchReaderStream( ODataMultipartMixedBatchInputContext inputContext, string batchBoundary, Encoding batchEncoding) { Debug.Assert(!string.IsNullOrEmpty(batchBoundary), "!string.IsNullOrEmpty(batchBoundary)"); this.batchEncoding = batchEncoding; this.multipartMixedBatchInputContext = inputContext; this.batchBoundary = batchBoundary; // When we allocate a batch reader stream we will in almost all cases also call ReadLine // (to read the headers of the parts); so allocating it here. this.lineBuffer = new byte[LineBufferLength]; this.mediaTypeResolver = ODataMediaTypeResolver.GetMediaTypeResolver(inputContext.Container); }