public static Authorization CreateAuthorization()

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;
        }