Пример #1
0
        public async Task InvokeAsync()
        {
            var httpContext = _httpContextAccessor.HttpContext;

            HttpResponseUtilities.AddNecessaryContents(httpContext, "text/html");

            var commandDetails = await GetCommandDetails(httpContext);

            if (commandDetails == null)
            {
                await httpContext.Response.WriteAsync("Command details are not valid.");

                return;
            }

            switch (commandDetails.CommandType)
            {
            case VirtualGatewayCommandType.Request:
                await HandleRequestCommand(httpContext, commandDetails);

                break;

            case VirtualGatewayCommandType.Pay:
                await HandlePayCommand(httpContext, commandDetails);

                break;

            default:
                await httpContext.Response.WriteAsync("CommandType is not valid.");

                break;
            }
        }
Пример #2
0
        /// <inheritdoc />
        public Task TransportAsync(CancellationToken cancellationToken = default)
        {
            HttpResponseUtilities.AddNecessaryContents(_httpContextAccessor.HttpContext, "text/html");

            var form = HtmlFormBuilder.CreateForm(_url, _formData);

            return(_httpContextAccessor.HttpContext.Response.WriteAsync(form, cancellationToken));
        }
Пример #3
0
        public Task TransportAsync(CancellationToken cancellationToken = default)
        {
            HttpResponseUtilities.AddNecessaryContents(_httpContextAccessor.HttpContext);

            _httpContextAccessor.HttpContext.Response.Redirect(_url);

            return(Task.CompletedTask);
        }
Пример #4
0
        /// <inheritdoc />
        public Task TransportAsync(CancellationToken cancellationToken = default)
        {
            if (Descriptor.Type == GatewayTransporterDescriptor.TransportType.Post)
            {
                HttpResponseUtilities.AddNecessaryContents(_httpContext, "text/html");

                var form = HtmlFormBuilder.CreateForm(Descriptor.Url, Descriptor.Form);

                return(_httpContext.Response.WriteAsync(form, cancellationToken));
            }

            HttpResponseUtilities.AddNecessaryContents(_httpContext);

            _httpContext.Response.Redirect(Descriptor.Url);

            return(Task.CompletedTask);
        }
        /// <inheritdoc />
        public virtual Task TransportAsync(CancellationToken cancellationToken = default)
        {
            if (Descriptor.Type == GatewayTransporterDescriptor.TransportType.Post)
            {
                HttpResponseUtilities.AddNecessaryContents(_httpContext, "text/html");

                var form = HtmlFormBuilder.CreateForm(Descriptor.Url, Descriptor.Form);

                var buffer = Encoding.UTF8.GetBytes(form);

                return(_httpContext.Response.Body.WriteAsync(buffer, 0, buffer.Length, cancellationToken));
            }

            HttpResponseUtilities.AddNecessaryContents(_httpContext);

            _httpContext.Response.Redirect(Descriptor.Url);

            return(Task.CompletedTask);
        }