Files
ZuneShell.dll/ZuneShell/ZuneXml/WebRequestHelper.cs
T

94 lines
3.5 KiB
C#

// Decompiled with JetBrains decompiler
// Type: ZuneXml.WebRequestHelper
// Assembly: ZuneShell, Version=4.7.0.0, Culture=neutral, PublicKeyToken=ddd0da4d3e678217
// MVID: FC8028F3-A47B-4FB4-B35B-11D1752D8264
// Assembly location: C:\Program Files\Zune\ZuneShell.dll
using Microsoft.Zune.Service;
using Microsoft.Zune.Shell;
using System;
using System.Globalization;
using System.Text;
namespace ZuneXml
{
internal class WebRequestHelper
{
private static string AcceptLanguage;
private static void SetCommonHeaders(
HttpWebRequest request,
EPassportPolicyId passportTicketType,
HttpRequestCachePolicy cachePolicy,
bool acceptGZipEncoding)
{
request.CachePolicy = cachePolicy;
if (passportTicketType != EPassportPolicyId.None)
{
string passportTicket = ZuneApplication.Service2.GetPassportTicket(passportTicketType);
if (!string.IsNullOrEmpty(passportTicket))
request.Authorization = "WLID1.0 " + passportTicket;
}
request.AcceptGZipEncoding = acceptGZipEncoding;
request.AcceptLanguage = Locale;
}
public static HttpWebRequest ConstructWebRequest(
string requestUri,
EPassportPolicyId passportTicketType,
HttpRequestCachePolicy cachePolicy,
bool fKeepAlive,
bool acceptGZipEncoding)
{
string absoluteUri = new Uri(requestUri).AbsoluteUri;
if (absoluteUri != requestUri)
{
int num = TraceSwitches.DataProviderSwitch.TraceWarning ? 1 : 0;
requestUri = absoluteUri;
}
if (cachePolicy == HttpRequestCachePolicy.Default && UriResourceTracker.Instance.IsResourceModified(requestUri))
{
cachePolicy = HttpRequestCachePolicy.Refresh;
UriResourceTracker.Instance.SetResourceModified(requestUri, false);
}
HttpWebRequest request = HttpWebRequest.Create(requestUri);
request.KeepAlive = fKeepAlive;
request.CancelOnShutdown = true;
SetCommonHeaders(request, passportTicketType, cachePolicy, acceptGZipEncoding);
int num1 = TraceSwitches.DataProviderSwitch.TraceWarning ? 1 : 0;
return request;
}
public static HttpWebRequest ConstructWebPostRequest(
string requestUri,
string requestBody,
EPassportPolicyId passportTicketType,
HttpRequestCachePolicy cachePolicy,
bool fKeepAlive,
bool acceptGZipEncoding)
{
HttpWebRequest request = HttpWebRequest.Create(requestUri);
request.KeepAlive = fKeepAlive;
request.CachePolicy = cachePolicy;
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
SetCommonHeaders(request, passportTicketType, cachePolicy, acceptGZipEncoding);
byte[] bytes = new ASCIIEncoding().GetBytes(requestBody);
request.ContentLength = bytes.Length;
request.GetRequestStream().Write(bytes, 0, bytes.Length);
int num = TraceSwitches.DataProviderSwitch.TraceWarning ? 1 : 0;
return request;
}
public static string Locale
{
get
{
if (AcceptLanguage == null)
AcceptLanguage = CultureInfo.CurrentUICulture.Name;
return AcceptLanguage;
}
}
}
}