public static IAdvancedHalBuilder WithResultFactory <TResult>(this IAdvancedHalBuilder builder, Func <ITypedBuilderContext, HttpRequestMessage, HttpResponseMessage, Task <TResult> > resultFactory) where TResult : IHalResource { builder.WithConfiguration(s => s.WithResultType(typeof(TResult)).ResultFactory = async(ctx, request, response) => await resultFactory(ctx, request, response)); return(builder); }
public static IAdvancedHalBuilder WithHttpContentFactory <TContent>(this IAdvancedHalBuilder builder, Func <ITypedBuilderContext, object, Task <HttpContent> > contentFactory) where TContent : IHalRequest { builder.WithConfiguration(s => s.WithContentType(typeof(TContent)).HttpContentFactory = async(ctx, content) => await contentFactory(ctx, content)); return(builder); }
public static IAdvancedHalBuilder WithErrorFactory <TError>(this IAdvancedHalBuilder builder, Func <ITypedBuilderContext, HttpRequestMessage, HttpResponseMessage, Exception, Task <TError> > errorFactory) { builder.WithConfiguration(s => s.WithResultType(typeof(TError)).ErrorFactory = async(ctx, request, response, ex) => await errorFactory(ctx, request, response, ex)); return(builder); }
public static IAdvancedHalBuilder WithAutoFollowConfiguration(this IAdvancedHalBuilder builder, Action <FollowLocationHandler> configuration) { builder.WithConfiguration(b => b.WithAutoFollowConfiguration(configuration)); return(builder); }
public static IAdvancedHalBuilder OnResultAsync <TResult>(this IAdvancedHalBuilder builder, HandlerPriority priority, Func <TypedResultContext <TResult>, Task> handler) where TResult : IHalResource { builder.WithConfiguration(b => b.OnResultAsync(priority, handler)); return(builder); }
public static IAdvancedHalBuilder WithHttpHandlerConfiguration <THandler>(this IAdvancedHalBuilder builder, Action <THandler> configure) where THandler : class, ITypedHandler { builder.WithConfiguration(b => b.WithHttpHandlerConfiguration(configure)); return(builder); }
public static IAdvancedHalBuilder OnSentAsync <TResult>(this IAdvancedHalBuilder builder, Func <TypedSentContext <TResult>, Task> handler) where TResult : IHalResource { builder.WithConfiguration(b => b.OnSentAsync(handler)); return(builder); }
public static IAdvancedHalBuilder OnResult <TResult>(this IAdvancedHalBuilder builder, Action <TypedResultContext <TResult> > handler) where TResult : IHalResource { builder.WithConfiguration(b => b.OnResult(handler)); return(builder); }
public static IAdvancedHalBuilder OnSent <TResult>(this IAdvancedHalBuilder builder, HandlerPriority priority, Action <TypedSentContext <TResult> > handler) where TResult : IHalResource { builder.WithConfiguration(b => b.OnSent(priority, handler)); return(builder); }
public static IAdvancedHalBuilder OnSendingWithContentAsync <TContent>(this IAdvancedHalBuilder builder, HandlerPriority priority, Func <TypedSendingContext <object, TContent>, Task> handler) where TContent : IHalRequest { builder.WithConfiguration(b => b.OnSendingAsync(priority, handler)); return(builder); }
public static IAdvancedHalBuilder OnSendingWithContent <TContent>(this IAdvancedHalBuilder builder, Action <TypedSendingContext <object, TContent> > handler) where TContent : IHalRequest { builder.WithConfiguration(b => b.OnSending(handler)); return(builder); }
public static IAdvancedHalBuilder OnCacheExpired(this IAdvancedHalBuilder builder, HandlerPriority priority, Action <CacheExpiredContext> cacheHandler) { builder.WithConfiguration(s => s.HandlerRegister.WithExpiredHandler(priority, cacheHandler)); return(builder); }
public static IAdvancedHalBuilder WithRedirectConfiguration(this IAdvancedHalBuilder builder, Action <RedirectHandler> configuration) { builder.WithConfiguration(b => b.WithRedirectConfiguration(configuration)); return(builder); }
public static IAdvancedHalBuilder OnCacheStoreAsync <TResult>(this IAdvancedHalBuilder builder, HandlerPriority priority, Func <CacheStoreContext <TResult>, Task> cacheHandler) where TResult : IHalResource { builder.WithConfiguration(s => s.HandlerRegister.WithAsyncStoreHandler(priority, cacheHandler)); return(builder); }
public static IAdvancedHalBuilder OnCacheMissAsync <TResult>(this IAdvancedHalBuilder builder, Func <CacheMissContext <TResult>, Task> cacheHandler) where TResult : IHalResource { builder.WithConfiguration(s => s.HandlerRegister.WithAsyncMissHandler(cacheHandler)); return(builder); }
public static IAdvancedHalBuilder OnCacheStore <TResult>(this IAdvancedHalBuilder builder, Action <CacheStoreContext <TResult> > cacheHandler) where TResult : IHalResource { builder.WithConfiguration(s => s.HandlerRegister.WithStoreHandler(cacheHandler)); return(builder); }
public static IAdvancedHalBuilder OnCacheMiss <TResult>(this IAdvancedHalBuilder builder, HandlerPriority priority, Action <CacheMissContext <TResult> > cacheHandler) where TResult : IHalResource { builder.WithConfiguration(s => s.HandlerRegister.WithMissHandler(priority, cacheHandler)); return(builder); }
public static IAdvancedHalBuilder WithSuccessfulResponseValidator(this IAdvancedHalBuilder builder, Func <HttpResponseMessage, bool> validator) { if (validator == null) { throw new ArgumentNullException(nameof(validator)); } return(builder.WithConfiguration(b => b.WithSuccessfulResponseValidator(validator))); }
public static IAdvancedHalBuilder WithDependentResources(this IAdvancedHalBuilder builder, params IHalResource[] resources) { if (resources == null) { return(builder); } var uris = resources.Select(r => r.Links.Self()); return(builder.WithDependentUris(uris)); }
public static IAdvancedHalBuilder OnCacheStoreAsync(this IAdvancedHalBuilder builder, Func <CacheStoreContext <IHalResource>, Task> cacheHandler) { builder.WithConfiguration(s => s.HandlerRegister.WithAsyncStoreHandler(cacheHandler)); return(builder); }
public static IAdvancedHalBuilder OnCacheStore(this IAdvancedHalBuilder builder, HandlerPriority priority, Action <CacheStoreContext <IHalResource> > cacheHandler) { builder.WithConfiguration(s => s.HandlerRegister.WithStoreHandler(priority, cacheHandler)); return(builder); }
public static IAdvancedHalBuilder WithSuppressCancellationExceptions(this IAdvancedHalBuilder builder, bool suppress = true) { return(builder.WithConfiguration(b => b.WithSuppressCancellationExceptions(suppress))); }
public static IAdvancedHalBuilder OnCacheExpiring(this IAdvancedHalBuilder builder, Action <CacheExpiringContext> cacheHandler) { builder.WithConfiguration(s => s.HandlerRegister.WithExpiringHandler(cacheHandler)); return(builder); }
public static IAdvancedHalBuilder OnCacheExpiredAsync(this IAdvancedHalBuilder builder, HandlerPriority priority, Func <CacheExpiredContext, Task> cacheHandler) { builder.WithConfiguration(s => s.HandlerRegister.WithAsyncExpiredHandler(priority, cacheHandler)); return(builder); }
public static IAdvancedHalBuilder OnCacheExpiringAsync(this IAdvancedHalBuilder builder, Func <CacheExpiringContext, Task> cacheHandler) { builder.WithConfiguration(s => s.HandlerRegister.WithAsyncExpiringHandler(cacheHandler)); return(builder); }
public static IAdvancedHalBuilder OnCacheMissAsync(this IAdvancedHalBuilder builder, HandlerPriority priority, Func <CacheMissContext <IHalResource>, Task> cacheHandler) { builder.WithConfiguration(s => s.HandlerRegister.WithAsyncMissHandler(priority, cacheHandler)); return(builder); }
public static IAdvancedHalBuilder WithMethod(this IAdvancedHalBuilder builder, HttpMethod method) { builder.WithConfiguration(b => b.WithMethod(method)); return(builder); }
public static IAdvancedHalBuilder WithAutoDecompression(this IAdvancedHalBuilder builder, bool enabled = true) { return(builder.WithConfiguration(b => b.WithAutoDecompression(enabled))); }
public static IAdvancedHalBuilder WithMediaType(this IAdvancedHalBuilder builder, string mediaType) { builder.WithConfiguration(b => b.WithMediaType(mediaType)); return(builder); }
public static IAdvancedHalBuilder OnCacheMiss(this IAdvancedHalBuilder builder, Action <CacheMissContext <IHalResource> > cacheHandler) { builder.WithConfiguration(s => s.HandlerRegister.WithMissHandler(cacheHandler)); return(builder); }