Vtex.Gallery.Core.VtexCredentials.ParseHeader C# (CSharp) Method

ParseHeader() public static method

public static ParseHeader ( AuthenticationHeaderValue header ) : VtexCredentials
header System.Net.Http.Headers.AuthenticationHeaderValue
return VtexCredentials
        public static VtexCredentials ParseHeader(AuthenticationHeaderValue header)
        {
            if (header == null)
                throw new ArgumentNullException(nameof(header), "Missing authorization header.");

            if (header.Scheme.Equals(SupportedSchemes.Basic, StringComparison.OrdinalIgnoreCase))
            {
                var parts = Encoding.ASCII.GetString(Convert.FromBase64String(header.Parameter))
                    .Split(new[] {':'}, 2);
                return new VtexCredentials(parts[0], parts[1]);
            }

            if (header.Scheme.Equals(SupportedSchemes.Token, StringComparison.OrdinalIgnoreCase))
                return new VtexCredentials(header.Parameter);

            throw new ArgumentException(UnsupportedSchemeMessage(header.Scheme), nameof(header));
        }