mirror of
https://github.com/ZuneDev/ZuneShell.dll.git
synced 2026-07-27 13:11:51 -07:00
94 lines
3.5 KiB
C#
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;
|
|
}
|
|
}
|
|
}
|
|
}
|