HttpProxyCredentialType.cs source code in C# .NET

Source code for the .NET framework in C#

                        

Code:

/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / ServiceModel / System / ServiceModel / HttpProxyCredentialType.cs / 1 / HttpProxyCredentialType.cs

                            //------------------------------------------------------------ 
// Copyright (c) Microsoft Corporation.  All rights reserved.
//-----------------------------------------------------------
namespace System.ServiceModel
{ 
    using System.Net;
 
    public enum HttpProxyCredentialType 
    {
        None, 
        Basic,
        Digest,
        Ntlm,
        Windows, 
    }
 
    static class HttpProxyCredentialTypeHelper 
    {
        internal static bool IsDefined(HttpProxyCredentialType value) 
        {
            return (value == HttpProxyCredentialType.None ||
                value == HttpProxyCredentialType.Basic ||
                value == HttpProxyCredentialType.Digest || 
                value == HttpProxyCredentialType.Ntlm ||
                value == HttpProxyCredentialType.Windows); 
        } 

        internal static AuthenticationSchemes MapToAuthenticationScheme(HttpProxyCredentialType proxyCredentialType) 
        {
            AuthenticationSchemes result;
            switch (proxyCredentialType)
            { 
                case HttpProxyCredentialType.None:
                    result = AuthenticationSchemes.Anonymous; 
                    break; 
                case HttpProxyCredentialType.Basic:
                    result = AuthenticationSchemes.Basic; 
                    break;
                case HttpProxyCredentialType.Digest:
                    result = AuthenticationSchemes.Digest;
                    break; 
                case HttpProxyCredentialType.Ntlm:
                    result = AuthenticationSchemes.Ntlm; 
                    break; 
                case HttpProxyCredentialType.Windows:
                    result = AuthenticationSchemes.Negotiate; 
                    break;
                default:
                    DiagnosticUtility.DebugAssert("unsupported proxy credential type");
                    throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new NotSupportedException()); 
            }
            return result; 
        } 

        internal static HttpProxyCredentialType MapToProxyCredentialType(AuthenticationSchemes authenticationSchemes) 
        {
            HttpProxyCredentialType result;
            switch (authenticationSchemes)
            { 
                case AuthenticationSchemes.Anonymous:
                    result = HttpProxyCredentialType.None; 
                    break; 
                case AuthenticationSchemes.Basic:
                    result = HttpProxyCredentialType.Basic; 
                    break;
                case AuthenticationSchemes.Digest:
                    result = HttpProxyCredentialType.Digest;
                    break; 
                case AuthenticationSchemes.Ntlm:
                    result = HttpProxyCredentialType.Ntlm; 
                    break; 
                case AuthenticationSchemes.Negotiate:
                    result = HttpProxyCredentialType.Windows; 
                    break;
                default:
                    DiagnosticUtility.DebugAssert("unsupported authentication Scheme");
                    throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new NotSupportedException()); 
            }
            return result; 
        } 
    }
} 

// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.


                        

Link Menu

Network programming in C#, Network Programming in VB.NET, Network Programming in .NET
This book is available now!
Buy at Amazon US or
Buy at Amazon UK