コード例 #1
0
        public static IAdvancedHttpBuilder OnCacheExpired(this IAdvancedHttpBuilder builder, HandlerPriority priority, Action <CacheExpiredContext> cacheHandler)

        {
            builder.WithConfiguration(s => s.HandlerRegister.WithExpiredHandler(priority, cacheHandler));

            return(builder);
        }
コード例 #2
0
        public static IAdvancedHttpBuilder WithSuppressCancellationExceptions(this IAdvancedHttpBuilder builder, bool suppress = true)

        {
            builder.WithConfiguration(s => s.SuppressCancellationErrors = suppress);

            return(builder);
        }
コード例 #3
0
        public static IAdvancedHttpBuilder OnSending(this IAdvancedHttpBuilder builder, Action <HttpSendingContext> handler)

        {
            builder.WithConfiguration(s => s.HandlerRegister.WithSendingHandler(handler));

            return(builder);
        }
コード例 #4
0
        public static IAdvancedHttpBuilder WithHandlerConfiguration <THandler>(this IAdvancedHttpBuilder builder, Action <THandler> configure)
            where THandler : class, IHttpHandler
        {
            builder.WithConfiguration(s => s.HandlerRegister.WithConfiguration(configure));

            return(builder);
        }
コード例 #5
0
        public static IAdvancedHttpBuilder WithAutoDecompression(this IAdvancedHttpBuilder builder, bool enabled = true)

        {
            builder.WithConfiguration(s => s.AutoDecompression = true);

            return(builder.WithClientConfiguration(c => c.WithDecompressionMethods(enabled
                    ? DecompressionMethods.GZip | DecompressionMethods.Deflate
                    : DecompressionMethods.None)));
        }
コード例 #6
0
        public static IAdvancedHttpBuilder WithSuccessfulResponseValidator(this IAdvancedHttpBuilder builder, Func <HttpResponseMessage, bool> validator)
        {
            if (validator == null)
            {
                throw new ArgumentNullException(nameof(validator));
            }

            builder.WithConfiguration(s => s.ResponseValidator.Add(new ResponseValidatorFunc(validator)));

            return(builder);
        }
コード例 #7
0
        public static IAdvancedHttpBuilder WithContentEncoding(this IAdvancedHttpBuilder builder, Encoding encoding)

        {
            if (encoding == null)
            {
                return(builder);
            }

            builder.WithConfiguration(s => s.ContentEncoding = encoding);
            builder.WithAcceptCharSet(encoding);

            return(builder);
        }
コード例 #8
0
        public static IAdvancedHttpBuilder WithMediaType(this IAdvancedHttpBuilder builder, string mediaType)

        {
            if (mediaType == null)
            {
                return(builder);
            }

            builder.WithConfiguration(s => s.MediaType = mediaType);
            builder.WithAcceptHeaderValue(mediaType);

            return(builder);
        }
コード例 #9
0
        public static IAdvancedHttpBuilder OnCacheStore(this IAdvancedHttpBuilder builder, Action <CacheStoreContext <HttpResponseMessage> > cacheHandler)
        {
            builder.WithConfiguration(s => s.HandlerRegister.WithStoreHandler(cacheHandler));

            return(builder);
        }
コード例 #10
0
        public static IAdvancedHttpBuilder WithHeader(this IAdvancedHttpBuilder builder, string name, string value)

        {
            return(builder.WithClientConfiguration(c => c.WithHeader(name, value)));
        }
コード例 #11
0
        public static IAdvancedHttpBuilder WithRedirectConfiguration(this IAdvancedHttpBuilder builder, Action <RedirectHandler> configuration)

        {
            return(builder.WithHandlerConfiguration(configuration));
        }
コード例 #12
0
        public static IAdvancedHttpBuilder WithAcceptCharSet(this IAdvancedHttpBuilder builder, Encoding encoding)

        {
            return(builder.WithAcceptCharSet(encoding.WebName));
        }
コード例 #13
0
        public static IAdvancedHttpBuilder OnCacheExpiringAsync(this IAdvancedHttpBuilder builder, Func <CacheExpiringContext, Task> cacheHandler)
        {
            builder.WithConfiguration(s => s.HandlerRegister.WithAsyncExpiringHandler(cacheHandler));

            return(builder);
        }
コード例 #14
0
        public static IAdvancedHttpBuilder OnSentAsync(this IAdvancedHttpBuilder builder, Func <HttpSentContext, Task> handler)
        {
            builder.WithConfiguration(s => s.HandlerRegister.WithAsyncSentHandler(handler));

            return(builder);
        }
コード例 #15
0
        public static IAdvancedHttpBuilder WithContextItem(this IAdvancedHttpBuilder builder, string key, object value)
        {
            builder.WithConfiguration(s => s.Items[key] = value);

            return(builder);
        }
コード例 #16
0
        public static IAdvancedHttpBuilder WithExceptionFactory(this IAdvancedHttpBuilder builder, Func <HttpResponseMessage, HttpRequestMessage, Exception> factory)
        {
            builder.WithConfiguration(s => s.ExceptionFactory = factory);

            return(builder);
        }
コード例 #17
0
        public static IAdvancedHttpBuilder WithHandler(this IAdvancedHttpBuilder builder, IHttpHandler httpHandler)
        {
            builder.WithConfiguration(s => s.HandlerRegister.WithHandler(httpHandler));

            return(builder);
        }
コード例 #18
0
        public static IAdvancedHttpBuilder OnCacheStoreAsync(this IAdvancedHttpBuilder builder, HandlerPriority priority, Func <CacheStoreContext <HttpResponseMessage>, Task> cacheHandler)
        {
            builder.WithConfiguration(s => s.HandlerRegister.WithAsyncStoreHandler(priority, cacheHandler));

            return(builder);
        }
コード例 #19
0
        public static IAdvancedHttpBuilder OnCacheExpiring(this IAdvancedHttpBuilder builder, Action <CacheExpiringContext> cacheHandler)
        {
            builder.WithConfiguration(s => s.HandlerRegister.WithExpiringHandler(cacheHandler));

            return(builder);
        }
コード例 #20
0
        public static IAdvancedHttpBuilder OnCacheExpiredAsync(this IAdvancedHttpBuilder builder, HandlerPriority priority, Func <CacheExpiredContext, Task> cacheHandler)
        {
            builder.WithConfiguration(s => s.HandlerRegister.WithAsyncExpiredHandler(priority, cacheHandler));

            return(builder);
        }
コード例 #21
0
        public static IAdvancedHttpBuilder OnException(this IAdvancedHttpBuilder builder, HandlerPriority priority, Action <HttpExceptionContext> handler)
        {
            builder.WithConfiguration(s => s.HandlerRegister.WithExceptionHandler(priority, handler));

            return(builder);
        }
コード例 #22
0
        public static IAdvancedHttpBuilder WithAutoFollowConfiguration(this IAdvancedHttpBuilder builder, Action <FollowLocationHandler> configuration)

        {
            return(builder.WithHandlerConfiguration(configuration));
        }
コード例 #23
0
        public static IAdvancedHttpBuilder WithAppendHeader(this IAdvancedHttpBuilder builder, string name, IEnumerable <string> values)

        {
            return(builder.WithClientConfiguration(c => c.WithAppendHeader(name, values)));
        }
コード例 #24
0
        public static IAdvancedHttpBuilder OnExceptionAsync(this IAdvancedHttpBuilder builder, HandlerPriority priority, Func <HttpExceptionContext, Task> handler)
        {
            builder.WithConfiguration(s => s.HandlerRegister.WithAsyncExceptionHandler(priority, handler));

            return(builder);
        }
コード例 #25
0
        public static IAdvancedHttpBuilder WithAcceptHeaderValue(this IAdvancedHttpBuilder builder, string mediaType)

        {
            return(builder.WithHeadersConfiguration(h => h.Accept.Add(new MediaTypeWithQualityHeaderValue(mediaType))));
        }
コード例 #26
0
 public static IAdvancedHttpBuilder WithHeadersConfiguration(this IAdvancedHttpBuilder builder, Action <HttpRequestHeaders> configuration)
 {
     return(builder.WithClientConfiguration(c => c.WithHeadersConfiguration(configuration)));
 }
コード例 #27
0
        public static IAdvancedHttpBuilder WithAcceptCharSet(this IAdvancedHttpBuilder builder, string charSet)

        {
            return(builder.WithHeadersConfiguration(h => h.AcceptCharset.Add(new StringWithQualityHeaderValue(charSet))));
        }
コード例 #28
0
        public static IAdvancedHttpBuilder OnCacheMiss(this IAdvancedHttpBuilder builder, HandlerPriority priority, Action <CacheMissContext <HttpResponseMessage> > cacheHandler)
        {
            builder.WithConfiguration(s => s.HandlerRegister.WithMissHandler(priority, cacheHandler));

            return(builder);
        }
コード例 #29
0
        public static IAdvancedHttpBuilder WithTimeout(this IAdvancedHttpBuilder builder, TimeSpan?timeout)

        {
            return(builder.WithClientConfiguration(c => c.WithTimeout(timeout)));
        }
コード例 #30
0
        public static IAdvancedHttpBuilder OnCacheMissAsync(this IAdvancedHttpBuilder builder, Func <CacheMissContext <HttpResponseMessage>, Task> cacheHandler)
        {
            builder.WithConfiguration(s => s.HandlerRegister.WithAsyncMissHandler(cacheHandler));

            return(builder);
        }