in src/Testing/Expressions/Extensions/BasicAuthCredentialsParser.cs [18:44]
public BasicAuthCredentials? Parse(string? value)
{
if(string.IsNullOrWhiteSpace(value))
{
return null;
}
if (!AuthenticationHeaderValue.TryParse(value, out var header)
|| !"Basic".Equals(header.Scheme, StringComparison.Ordinal)
|| string.IsNullOrWhiteSpace(header.Parameter))
{
return null;
}
try
{
var decoded = HeaderFieldEncoding.GetString(Convert.FromBase64String(header.Parameter));
var index = decoded.LastIndexOf(':');
return index > 0
? new MockBasicAuthCredentials(decoded[..index], decoded[(index + 1)..])
: null;
}
catch (Exception)
{
return null;
}
}