Statistics
| Branch: | Revision:

root / trunk / hammock / src / net35 / Hammock / Authentication / Basic / BasicAuthCredentials.cs @ 0eea575a

History | View | Annotate | Download (1.2 kB)

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
}