Beispiel #1
0
        public static AlipayBrowserOnlyAttribute Create(AlipayBrowserOnlyOptions options)
        {
            var ret = new AlipayBrowserOnlyAttribute
            {
                Message     = options.Message,
                RedirectUrl = options.RedirectUrl
            };

            return(ret);
        }
Beispiel #2
0
        public static Response DoAlipayBrowserOnlyOption(NancyContext context, AlipayBrowserOnlyOptions options)
        {
            if (!string.IsNullOrWhiteSpace(options.RedirectUrl))
            {
                return(context.GetRedirect(options.RedirectUrl));
            }

            Response response = options.Message;

            response.StatusCode   = options.StatusCode;
            response.ReasonPhrase = options.Message;
            return(response);
        }
Beispiel #3
0
        /// <summary>
        /// Use alipay browser only middleware
        /// </summary>
        /// <param name="app"></param>
        /// <param name="optionAction"></param>
        /// <returns></returns>
        public static IApplicationBuilder UseAlipayBrowserOnly(this IApplicationBuilder app, Action <AlipayBrowserOnlyOptions> optionAction)
        {
            if (app == null)
            {
                throw new ArgumentNullException(nameof(app));
            }

            var options = new AlipayBrowserOnlyOptions();

            optionAction?.Invoke(options);

            app.UseMiddleware <AlipayBrowserOnlyMiddleware>(options);

            return(app);
        }
        public static async Task DoAlipayBrowserOnlyOption(HttpContext context, AlipayBrowserOnlyOptions options)
        {
            if (context == null)
            {
                throw new ArgumentNullException(nameof(context));
            }

            if (options == null)
            {
                throw new ArgumentNullException(nameof(options));
            }

            if (!string.IsNullOrWhiteSpace(options.RedirectUrl))
            {
                context.Response.Redirect(options.RedirectUrl);
                return;
            }

            await context.Response.WriteAsync(options.Message);
        }