本文整理汇总了C#中System.Net.Request.GetOptions方法的典型用法代码示例。如果您正苦于以下问题:C# Request.GetOptions方法的具体用法?C# Request.GetOptions怎么用?C# Request.GetOptions使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Net.Request
的用法示例。
在下文中一共展示了Request.GetOptions方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GetHttpRequest
/// <summary>
/// Gets the http request starting from a CoAP request. The method creates
/// the HTTP request through its request line. The request line is built with
/// the uri coming from the string representing the CoAP method and the uri
/// obtained from the proxy-uri option. If a payload is provided, the HTTP
/// request encloses an HTTP entity and consequently the content-type is set.
/// Finally, the CoAP options are mapped to the HTTP headers.
/// </summary>
/// <param name="coapRequest">the coap request</param>
/// <returns>the http request</returns>
/// <exception cref="ArgumentNullException"></exception>
/// <exception cref="TranslationException"></exception>
public static WebRequest GetHttpRequest(Request coapRequest)
{
if (coapRequest == null)
throw ThrowHelper.ArgumentNull("coapRequest");
Uri proxyUri = null;
try
{
proxyUri = coapRequest.ProxyUri;
}
catch (UriFormatException e)
{
throw new TranslationException("Cannot get the proxy-uri from the coap message", e);
}
if (proxyUri == null)
throw new TranslationException("Cannot get the proxy-uri from the coap message");
String coapMethod = coapRequest.Method.ToString();
WebRequest httpRequest = WebRequest.Create(proxyUri);
httpRequest.Method = coapMethod;
Byte[] payload = coapRequest.Payload;
if (payload != null && payload.Length > 0)
{
Int32 coapContentType = coapRequest.ContentType;
String contentTypeString;
if (coapContentType == MediaType.Undefined)
contentTypeString = "application/octet-stream";
else
{
coap2httpContentType.TryGetValue(coapContentType, out contentTypeString);
if (String.IsNullOrEmpty(contentTypeString))
{
contentTypeString = MediaType.ToString(coapContentType);
}
}
httpRequest.ContentType = contentTypeString;
Stream dataStream = httpRequest.GetRequestStream();
dataStream.Write(payload, 0, payload.Length);
dataStream.Close();
}
NameValueCollection headers = GetHttpHeaders(coapRequest.GetOptions());
foreach (String key in headers.AllKeys)
{
httpRequest.Headers[key] = headers[key];
}
return httpRequest;
}