Beispiel #1
0
        public async Task SetBizStepAsync(string id, string bizStep)
        {
            var key = await GetStatusKeyAsync(id);

            await RequestStatusTools.SaveBizStep(bizStep, key);

            await UpdateIdleExpiration(id);

            var callbackRouting = await GetCallbackRoutingAsync(id);

            _callbackReporter?.SendBizStepChanged(id, callbackRouting, bizStep);
        }
Beispiel #2
0
        public async Task SetRequestStepAsync(string id, ProcessStep processStep)
        {
            var key = await GetStatusKeyAsync(id);

            await RequestStatusTools.SetStep(processStep, key);

            await UpdateIdleExpiration(id);

            var callbackRouting = await GetCallbackRoutingAsync(id);

            _callbackReporter?.SendRequestStep(id, callbackRouting, processStep);
        }
Beispiel #3
0
        public async Task CompleteWithErrorAsync(string id, ProcessingError error)
        {
            var key = await GetStatusKeyAsync(id);

            await RequestStatusTools.SaveError(error, key);

            await UpdateStoreExpiration(id);

            var callbackRouting = await GetCallbackRoutingAsync(id);

            _callbackReporter?.SendCompletedWithError(id, callbackRouting, error);
        }
Beispiel #4
0
        public async Task CompleteWithResultAsync(string id, byte[] content, string mimeType)
        {
            var statusKey = await GetStatusKeyAsync(id);

            await RequestStatusTools.SaveResult(content.Length, mimeType, statusKey);

            var resultKey  = GetResultKey(id);
            var strContent = ContentToString(content, mimeType);
            await resultKey.SetAsync(strContent);

            await UpdateIdleExpiration(id);

            var callbackRouting = await GetCallbackRoutingAsync(id);

            _callbackReporter?.SendCompletedWithResult(id, callbackRouting, content, mimeType);
        }
Beispiel #5
0
        public async Task <RequestResult> GetResultAsync(string id)
        {
            var statusKey = await GetStatusKeyAsync(id);

            var resultMime = await RequestStatusTools.ReadResultMimeType(statusKey);

            if (resultMime == null)
            {
                throw new RequestResultNotReadyException()
                      .AndFactIs("reques-id", id);
            }

            var resultKey     = GetResultKey(id);
            var resultContent = await resultKey.GetAsync();

            return(new RequestResult(resultMime, resultContent));
        }
Beispiel #6
0
        public async Task <RequestStatus> GetStatusAsync(string id)
        {
            var key = await GetStatusKeyAsync(id);

            return(await RequestStatusTools.ReadFromRedis(key));
        }