예제 #1
0
        public Task <HttpResponseMessage> Handle(Uri uri, EsiExecutionContext executionContext, HttpLoadDelegate next)
        {
            var breakerPolicy = _breakerPolicies.GetOrAdd(_breakerKeyFactory(uri), _ => CreatePolicy());

            return(breakerPolicy.ExecuteAsync(() => next(uri, executionContext)));
        }
예제 #2
0
        public async Task <HttpResponseMessage> Handle(Uri uri, EsiExecutionContext executionContext, HttpLoadDelegate next)
        {
            _log("pipeline before");
            var response = await next(uri, executionContext);

            _log("pipeline after");
            return(response);
        }
예제 #3
0
 public Task <HttpResponseMessage> Handle(Uri uri, EsiExecutionContext executionContext, HttpLoadDelegate next)
 {
     return(_retryPolicy.ExecuteAsync(() => next(uri, executionContext)));
 }