/// <summary> /// Reads the headers of a batch part or an operation. /// </summary> /// <returns>A dictionary of header names to header values; never null.</returns> internal ODataBatchOperationHeaders ReadHeaders() { DebugUtils.CheckNoExternalCallers(); Debug.Assert(this.batchEncoding != null, "Batch encoding should have been established on first call to SkipToBoundary."); ODataBatchOperationHeaders headers = new ODataBatchOperationHeaders(); // Read all the headers string headerLine = this.ReadLine(); while (headerLine != null && headerLine.Length > 0) { string headerName, headerValue; ValidateHeaderLine(headerLine, out headerName, out headerValue); if (headers.ContainsKeyOrdinal(headerName)) { throw new ODataException(Strings.ODataBatchReaderStream_DuplicateHeaderFound(headerName)); } headers.Add(headerName, headerValue); headerLine = this.ReadLine(); } return(headers); }
internal ODataBatchOperationHeaders ReadHeaders() { ODataBatchOperationHeaders headers = new ODataBatchOperationHeaders(); for (string str = this.ReadLine(); (str != null) && (str.Length > 0); str = this.ReadLine()) { string str2; string str3; ValidateHeaderLine(str, out str2, out str3); if (headers.ContainsKeyOrdinal(str2)) { throw new ODataException(Strings.ODataBatchReaderStream_DuplicateHeaderFound(str2)); } headers.Add(str2, str3); } return(headers); }