Example #1
0
        public ResponseId ExecuteRequestAsync(Request request)
        {
            log.Debug("Запуск");
            log.Debug($"Сообщение:\r\n{OperationContext.Current.RequestContext.RequestMessage}");
            log.Debug($"request:\r\n{request}");
            log.Debug($"Token: {WebOperationContext.Current.IncomingRequest.Headers["Token"]}");
            if (!AuthorizeHelpers.IsAuthorized(_dbContext,
                                               WebOperationContext.Current.IncomingRequest.Headers["Token"],
                                               request.Code,
                                               out ResponseId response,
                                               out var externalSystem))
            {
                log.Error($"Авторизация не пройдена. Причина: {response.Error}");
                WebOperationContext.Current.OutgoingResponse.StatusCode = HttpStatusCode.Forbidden;
                return(response);
            }

            log.Debug("Авторизация пройдена");
            IncomingMessageProcessor imp = new IncomingMessageProcessor(_dbContext, externalSystem);

            response = imp.ExecuteAsync(request);
            log.Debug($"Результат:\r\n{response}");
            log.Debug("Звершение");
            return(response);
        }
        public ResponseId ExecuteRequestAsync([FromBody] Request request)
        {
            log.Debug("Запуск");
            log.Debug($"request:\r\n{request}");
            log.Debug($"Token: {GetTokenValue()}");
            if (!AuthorizeHelpers.IsAuthorized(_dbContext, GetTokenValue(), request.Code, out ResponseId response, out var externalSystem))
            {
                log.Error($"Авторизация не пройдена. Причина: {response.Error}");
                throw new HttpResponseException(Request.CreateResponse(HttpStatusCode.Forbidden, response));
            }

            log.Debug("Авторизация пройдена");
            IncomingMessageProcessor imp = new IncomingMessageProcessor(_dbContext, externalSystem);

            response = imp.ExecuteAsync(request);
            log.Debug($"Результат:\r\n{response}");
            log.Debug("Звершение");
            return(response);
        }