Example #1
0
        public static IBangumiClientBuilder WithConfig(this IBangumiClientBuilder builder, string appKey, string appSecret, string redirectUri)
        {
            if (builder == null)
            {
                throw new ArgumentNullException(nameof(builder));
            }
            if (string.IsNullOrEmpty(appKey))
            {
                throw new ArgumentException("AppKey 为空");
            }
            if (string.IsNullOrEmpty(appSecret))
            {
                throw new ArgumentException("AppSecret 为空");
            }
            if (string.IsNullOrEmpty(redirectUri))
            {
                throw new ArgumentException("RedirectUri 为空");
            }

            return(builder.WithConfig(options =>
            {
                options.AppKey = appKey;
                options.AppSecret = appSecret;
                options.RedirectUri = redirectUri;
            }));
        }
Example #2
0
        public static IBangumiClientBuilder UseDefaultAccessTokenStorage(this IBangumiClientBuilder builder)
        {
            if (builder == null)
            {
                throw new ArgumentNullException(nameof(builder));
            }

            return(builder.UseAccessTokenStorage <UwpAccessTokenStorage>());
        }
Example #3
0
        public static IBangumiClientBuilder UseDefaultAuthorizationProvider(this IBangumiClientBuilder builder)
        {
            if (builder == null)
            {
                throw new ArgumentNullException(nameof(builder));
            }

            builder.UseAuthorizationProvider <UwpAuthorizationProvider>();
            return(builder);
        }
Example #4
0
        public static IBangumiClientBuilder UseAccessTokenStorage <T>(this IBangumiClientBuilder builder) where T : class, IAccessTokenStorage
        {
            if (builder == null)
            {
                throw new ArgumentNullException(nameof(builder));
            }

            builder.Services.AddTransient <IAccessTokenStorage, T>();
            return(builder);
        }
Example #5
0
        public static IBangumiClientBuilder UseAuthorizationProvider <T>(this IBangumiClientBuilder builder) where T : class, IAuthorizationProvider
        {
            if (builder == null)
            {
                throw new ArgumentNullException(nameof(builder));
            }

            builder.Services.AddTransient <IAuthorizationProvider, T>();
            return(builder);
        }
Example #6
0
        public static IBangumiClientBuilder WithConfig(this IBangumiClientBuilder builder, Action <BangumiOptions> configureOptions)
        {
            if (builder == null)
            {
                throw new ArgumentNullException(nameof(builder));
            }
            if (configureOptions == null)
            {
                throw new ArgumentNullException(nameof(configureOptions));
            }

            builder.Services.Configure(configureOptions);
            return(builder);
        }