|
// <copyright>
// Copyright (c) Microsoft Corporation. All rights reserved.
// </copyright>
namespace System.ServiceModel.Channels
{
using System;
using System.Net.Http;
using System.Runtime;
/// <summary>
/// A static extension methods class for getting a <see cref="Message"/> instance
/// from an <see cref="HttpRequestMessage"/> instance.
/// </summary>
public static class HttpRequestMessageExtensionMethods
{
/// <summary>
/// An extension method for getting a <see cref="Message"/> instance
/// from an <see cref="HttpRequestMessage"/> instance.
/// </summary>
/// <remarks>
/// The <see cref="Message"/> instance can be read, written and copied
/// just as a traditional <see cref="ByteStreamMessage"/> instance. The
/// <see cref="Message"/> instance can also "read" to retrieve the original
/// <see cref="HttpRequestMessage"/> instance by calling the
/// <see cref="MessageExtensionMethods.ToHttpRequestMessage">
/// Message.ToHttpRequestMessage()</see> extension method.
/// </remarks>
/// <param name="httpRequestMessage">The <see cref="HttpRequestMessage"/>
/// from which to create the <see cref="Message"/> instance.</param>
/// <returns>The new <see cref="Message"/> instance.</returns>
public static Message ToMessage(this HttpRequestMessage httpRequestMessage)
{
if (httpRequestMessage == null)
{
throw FxTrace.Exception.ArgumentNull("httpRequestMessage");
}
Message message = ByteStreamMessage.CreateMessage(httpRequestMessage, null);
message.ConfigureAsHttpMessage(httpRequestMessage);
return message;
}
}
}
|