/// <summary> /// Asynchronously writes the envelope for the inner HTTP message. /// </summary> /// <param name="responseMessage">The response message to write the envelope.</param> /// <returns>A task that represents the asynchronous write operation.</returns> private async Task WriteInnerEnvelopeAsync(ODataAsynchronousResponseMessage responseMessage) { // Write response line. string statusMessage = HttpUtils.GetStatusMessage(responseMessage.StatusCode); await this.rawOutputContext.TextWriter.WriteLineAsync( string.Concat(ODataConstants.HttpVersionInAsync, " ", responseMessage.StatusCode, " ", statusMessage)) .ConfigureAwait(false); // Write headers. if (responseMessage.Headers != null) { foreach (var headerPair in responseMessage.Headers) { await this.rawOutputContext.TextWriter.WriteLineAsync(string.Concat(headerPair.Key, ": ", headerPair.Value)) .ConfigureAwait(false); } } // Write CRLF. await this.rawOutputContext.TextWriter.WriteLineAsync() .ConfigureAwait(false); // Flush the writer since we won't be able to access it anymore. await this.rawOutputContext.TextWriter.FlushAsync() .ConfigureAwait(false); }
/// <summary> /// Writes the envelope for the inner HTTP message. /// </summary> /// <param name="responseMessage">The response message to write the envelope.</param> private void WriteInnerEnvelope(ODataAsynchronousResponseMessage responseMessage) { // Write response line. string statusMessage = HttpUtils.GetStatusMessage(responseMessage.StatusCode); this.rawOutputContext.TextWriter.WriteLine("{0} {1} {2}", ODataConstants.HttpVersionInAsync, responseMessage.StatusCode, statusMessage); // Write headers. if (responseMessage.Headers != null) { foreach (var headerPair in responseMessage.Headers) { string headerName = headerPair.Key; string headerValue = headerPair.Value; this.rawOutputContext.TextWriter.WriteLine(string.Format(CultureInfo.InvariantCulture, "{0}: {1}", headerName, headerValue)); } } // Write CRLF. this.rawOutputContext.TextWriter.WriteLine(); // Flush the writer since we won't be able to access it anymore. this.rawOutputContext.TextWriter.Flush(); }