in src/Microsoft.OpenApi.OData.Reader/Vocabulary/Authorization/Authorization.cs [58:113]
public static Authorization CreateAuthorization(IEdmRecordExpression record)
{
if (record == null || record.DeclaredType == null)
{
return null;
}
IEdmComplexType complexType = record.DeclaredType.Definition as IEdmComplexType;
if (complexType == null)
{
return null;
}
Authorization auth;
switch (complexType.FullTypeName())
{
case AuthorizationConstants.OpenIDConnect: // OpenIDConnect
auth = new OpenIDConnect();
break;
case AuthorizationConstants.Http: // Http
auth = new Http();
break;
case AuthorizationConstants.ApiKey: // ApiKey
auth = new ApiKey();
break;
case AuthorizationConstants.OAuth2ClientCredentials: // OAuth2ClientCredentials
auth = new OAuth2ClientCredentials();
break;
case AuthorizationConstants.OAuth2Implicit: // OAuth2Implicit
auth = new OAuth2Implicit();
break;
case AuthorizationConstants.OAuth2Password: // OAuth2Password
auth = new OAuth2Password();
break;
case AuthorizationConstants.OAuth2AuthCode: // OAuth2AuthCode
auth = new OAuth2AuthCode();
break;
case AuthorizationConstants.OAuthAuthorization: // OAuthAuthorization
default:
throw new OpenApiException(String.Format(SRResource.AuthorizationRecordTypeNameNotCorrect, complexType.FullTypeName()));
}
if (auth != null)
{
auth.Initialize(record);
}
return auth;
}