Added hammock project to debug streaming issues
[pithos-ms-client] / trunk / hammock / src / net35 / Hammock / Authentication / Basic / BasicAuthCredentials.cs
1 using System;
2 using Hammock.Extensions;
3 using Hammock.Web;
4
5 namespace Hammock.Authentication.Basic
6 {
7 #if !SILVERLIGHT
8     [Serializable]
9 #endif
10     public class BasicAuthCredentials : IWebCredentials
11     {
12         public virtual string Username { get; set; }
13         public virtual string Password { get; set; }
14
15         public WebQuery GetQueryFor(string url, RestBase request, IWebQueryInfo info, WebMethod method, bool enableTrace)
16         {
17             return GetQueryForImpl(info, enableTrace);
18         }
19
20         public WebQuery GetQueryFor(string url, WebParameterCollection parameters, IWebQueryInfo info, WebMethod method, bool enableTrace)
21         {
22             return GetQueryForImpl(info, enableTrace);
23         }
24
25         private WebQuery GetQueryForImpl(IWebQueryInfo info, bool enableTrace)
26         {
27             return HasAuth
28                        ? new BasicAuthWebQuery(info, Username, Password, enableTrace)
29                        : new BasicAuthWebQuery(info, enableTrace);
30         }
31
32         public virtual bool HasAuth
33         {
34             get
35             {
36                 return !Username.IsNullOrBlank() && !Password.IsNullOrBlank();
37             }
38         }
39     }
40 }