using System.Net.Security;
using System.Net.Cache;
using System.Security.Principal;
-#if NET_4_5
using System.Threading.Tasks;
-#endif
#if NET_2_1
using ConfigurationException = System.ArgumentException;
set { throw GetMustImplement (); }
}
- public TokenImpersonationLevel ImpersonationLevel {
- get { throw GetMustImplement (); }
- set { throw GetMustImplement (); }
- }
public virtual string Method {
get { throw GetMustImplement (); }
throw GetMustImplement ();
}
}
-
+
+ public TokenImpersonationLevel ImpersonationLevel { get; set; }
+
// volatile static IWebProxy proxy;
static readonly object lockobj = new object ();
isDefaultWebProxySet = true;
}
}
+
+ internal static IWebProxy InternalDefaultWebProxy {
+ get {
+ return DefaultWebProxy;
+ }
+ }
+
[MonoTODO("Needs to respect Module, Proxy.AutoDetect, and Proxy.ScriptLocation config settings")]
static IWebProxy GetDefaultWebProxy ()
throw new ArgumentNullException ("requestUri");
return GetCreator (requestUri.Scheme).Create (requestUri);
}
-#if NET_4_0
- [MonoTODO ("for portable library support")]
+ static HttpWebRequest SharedCreateHttp (Uri uri)
+ {
+ if (uri.Scheme != "http" && uri.Scheme != "https")
+ throw new NotSupportedException ("The uri should start with http or https");
+
+ return new HttpWebRequest (uri);
+ }
+
public static HttpWebRequest CreateHttp (string requestUriString)
{
- throw new NotImplementedException ();
+ if (requestUriString == null)
+ throw new ArgumentNullException ("requestUriString");
+ return SharedCreateHttp (new Uri (requestUriString));
}
- [MonoTODO ("for portable library support")]
public static HttpWebRequest CreateHttp (Uri requestUri)
{
- throw new NotImplementedException ();
+ if (requestUri == null)
+ throw new ArgumentNullException ("requestUri");
+ return SharedCreateHttp (requestUri);
}
-#endif
public virtual Stream EndGetRequestStream (IAsyncResult asyncResult)
{
throw GetMustImplement ();
prefixes [prefix] = o;
}
-#if NET_4_5
public virtual Task<Stream> GetRequestStreamAsync ()
{
return Task<Stream>.Factory.FromAsync (BeginGetRequestStream, EndGetRequestStream, null);
{
return Task<WebResponse>.Factory.FromAsync (BeginGetResponse, EndGetResponse, null);
}
-#endif
}
}