/// <summary>
        /// Use wechat browser filter in a NancyController/NancyModule
        /// </summary>
        /// <param name="pipeline"></param>
        /// <param name="optionAction"></param>
        /// <returns></returns>
        public static BeforePipeline UseWeChatBrowserOnly(this BeforePipeline pipeline, Action <WeChatBrowserOnlyOptions> optionAction)
        {
            if (pipeline == null)
            {
                throw new ArgumentNullException(nameof(pipeline));
            }

            var options = new WeChatBrowserOnlyOptions();

            optionAction?.Invoke(options);

            pipeline.AddItemToEndOfPipeline(ctx =>
            {
                if (!Internal.RequestHelper.IsWeChatBrowser(ctx.Request))
                {
                    return(Internal.ResponseHelper.DoWeChatBrowserOnlyOption(ctx, options));
                }

                return(null);
            });

            return(pipeline);
        }