public BluePay20PostClient(
     string endpoint,
     IBluePayResponseParser <BluePayPost20ResponseV3> parser,
     WebRequestProvider webRequestProvider)
 {
     _endpoint           = endpoint;
     _parser             = parser;
     _webRequestProvider = webRequestProvider;
 }
 public BluePay20PostClient()
 {
     _endpoint           = "https://secure.bluepay.com/interfaces/bp20post";
     _parser             = new BluePayResponseParser <BluePayPost20ResponseV3>();
     _webRequestProvider = (url) =>
     {
         var ret = WebRequest.CreateHttp(url);
         ret.Method      = "POST";
         ret.ContentType = "application/x-www-form-urlencoded";
         return(ret);
     };
 }
        private void VerifyThreading()
        {
            Exception exception = null;

            try
            {
                this.Verifing      = true;
                this.VerifySuccess = false;
                this.ImageLimit    = null;
                ControlUtils.InvokeFNeeded(this, this.UpdateVerifyControl);

                var account            = this.ParseAccount();
                var webRequestProvider = new WebRequestProvider()
                {
                    Timeout = 0
                };
                var func   = ExHentaiAgent.UnaryRequestParameter(webRequestProvider.CreateRequestParameter, account);
                var result = ExHentaiAgent.CheckAccount(webRequestProvider.Explorer, func);

                this.VerifySuccess = result;

                if (result == true)
                {
                    this.ImageLimit = ExHentaiAgent.GetImageLimit(webRequestProvider.Explorer, func);
                }
            }
            catch (Exception e)
            {
                this.VerifySuccess = false;
                exception          = e;
            }
            finally
            {
                this.Verifing = false;

                try
                {
                    this.InvokeFNeeded(this.UpdateVerifyControl);
                }
                catch (Exception)
                {
                }

                this.VerifyThread = null;
            }

            if (exception != null)
            {
                var dd = DoujinshiDownloader.Instance;
                dd.ShowCrashMessageBox(exception);
            }
        }
        public void WhenWhenMakeRequestUsingTheTemplate()
        {
            var path = _scenarioContext.Get <string>(ContextDefinedValues.TemplateFilePath);

            var templateData = TemplateTester.LoadTemplateData(path);

            if (string.IsNullOrWhiteSpace(templateData))
            {
                Assert.Fail("Failed to load template data");
            }

            Postmanv3template template = JsonConvert.DeserializeObject <Postmanv3template>(templateData);
            var templateItem           = template.item[0];

            if (templateItem._event != null)
            {
                foreach (Event eventType in templateItem._event)
                {
                    if (eventType.listen == "test")
                    {
                        _scenarioContext.Set(eventType.script, ContextDefinedValues.ResponseTests);
                    }
                }
            }

            var request = templateItem.request;

            var requestMethod = request.method;
            var urlTemplate   = request.url.raw;

            var url = ConfigurationParser.GetFullUrlFromTemplate(urlTemplate);

            _scenarioContext.Set(requestMethod, ContextDefinedValues.RequestMethod);

            WebRequestResult testResult = WebRequestProvider.MakeRequest(requestMethod, url, request.header);

            _scenarioContext.Set(JsonConvert.SerializeObject(testResult), ContextDefinedValues.RequestResult);
        }
Beispiel #5
0
        public IEETResponse SendRequest(IEETHeader header, IEETData data, string certificatePath = null, string certificatePassword = null)
        {
            certificatePath     = certificatePath ?? ConfigurationManager.AppSettings["eet.net.certificatePath"];
            certificatePassword = certificatePassword ?? ConfigurationManager.AppSettings["eet.net.certificatePass"];

            var signatureManager = new EETSignature(certificatePath, certificatePassword);

            var xmlCreator  = new XmlCreator(signatureManager);
            var request     = new WebRequestProvider();
            var serviceInfo = ServiceInfo.GetServiceInfo();

            var pkp     = signatureManager.CreatePKP(data);
            var bkp     = signatureManager.CreateBKP(pkp);
            var control = new EETControl {
                PKP = new PkpElement {
                    Text = new string[] { pkp }
                }, BKP = new BkpElement {
                    Text = new string[] { bkp }
                }
            };
            EETResponse eetResponse;

            try
            {
                var xml      = xmlCreator.CreateXml(data, header, control, serviceInfo.ServiceNamespace);
                var response = request.CallWebService(ConfigurationManager.AppSettings["eet.net.url"], serviceInfo.Action, xml);

                eetResponse = new EETResponse {
                    Response = response, Request = xml, BKP = bkp, PKP = pkp
                };
                var confirm = response.XmlDeserializeFromString <EETResponseModel>();
                if (confirm == null)
                {
                    eetResponse.Message  = "Nevalidní zpráva ze serveru";
                    eetResponse.HasError = true;
                }
                else
                {
                    eetResponse.ResponseModel = confirm;
                    if (confirm.Body.Odpoved.Chyba == null)
                    {
                        eetResponse.HasError = false;
                        eetResponse.Fik      = confirm.Body.Odpoved.Potvrzeni.fik;
                        eetResponse.EETDate  = confirm.Body.Odpoved.Hlavicka.dat_prij;
                        eetResponse.Message  = string.Format("FIK {0}, BKP {1}, PKP {2}", eetResponse.Fik, eetResponse.BKP, eetResponse.PKP);
                    }
                    else
                    {
                        eetResponse.HasError = true;
                        eetResponse.Message  = string.Format("{0} ({1})", confirm.Body.Odpoved.Chyba.Value, confirm.Body.Odpoved.Chyba.kod);
                    }
                    if (confirm.Body.Odpoved.Varovani != null)
                    {
                        eetResponse.Warning = string.Format("{0} ({1})", confirm.Body.Odpoved.Varovani.Value, confirm.Body.Odpoved.Varovani.kod_varov);
                    }
                }
            }
            catch (WebException ex)
            {
                Trace.WriteLine(ex.ToString());
                eetResponse          = new EETResponse();
                eetResponse.HasError = true;
                eetResponse.Message  = "Nepodařilo se připojit k serveru";
            }
            catch (Exception ex)
            {
                eetResponse          = new EETResponse();
                eetResponse.HasError = true;
                eetResponse.Message  = "Chyba při zpracování odpovědi. " + ex.Message;
            }

            return(eetResponse);
        }