public string Request(string endpoint, string json, Config config, bool isApiKeyRequired, RequestOptions requestOptions = null) { string responseText = null; _environment = config.Environment; var httpWebRequest = GetHttpWebRequest(endpoint, config, isApiKeyRequired, requestOptions); if (config.HttpRequestTimeout > 0) { httpWebRequest.Timeout = config.HttpRequestTimeout; } using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream())) { streamWriter.Write(json); streamWriter.Flush(); streamWriter.Close(); } try { using (var response = (HttpWebResponse)httpWebRequest.GetResponse()) { using (var reader = new StreamReader(response.GetResponseStream(), _encoding)) { responseText = reader.ReadToEnd(); } } } catch (WebException e) { HandleWebException(e); } return(responseText); }
public static bool ValidateCertificate(string certificateSubject, Model.Enum.Environment environment) { var environmentName = environment.ToString().ToLower(); var regexPatternTerminalSpecificCert = _terminalApiCnRegex.Replace(_environmentWildcard, environmentName); var regexPatternLegacyCert = _terminalApiLegacy.Replace(_environmentWildcard, environmentName); var subject = certificateSubject.Split(',') .Select(x => x.Split('=')) .ToDictionary(x => x[0].Trim(' '), x => x[1]); if (subject.ContainsKey("CN")) { string commonNameValue = subject["CN"]; if (Regex.Match(commonNameValue, regexPatternTerminalSpecificCert).Success || string.Equals(commonNameValue, regexPatternLegacyCert)) { return(true); } } return(false); }
public string Request(string endpoint, string json, Config config, bool isApiKeyRequired, RequestOptions requestOptions = null) { string responseText = null; _environment = config.Environment; var httpWebRequest = GetHttpWebRequest(endpoint, config, isApiKeyRequired, requestOptions); if (config.HttpRequestTimeout > 0) { httpWebRequest.Timeout = config.HttpRequestTimeout; } using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream())) { streamWriter.Write(json); streamWriter.Flush(); streamWriter.Close(); } try { using (var response = (HttpWebResponse)httpWebRequest.GetResponse()) { using (var reader = new StreamReader(response.GetResponseStream(), _encoding)) { responseText = reader.ReadToEnd(); } } } catch (WebException e) { if (e.Response == null) { throw new HttpClientException((int)HttpStatusCode.RequestTimeout, "HTTP Exception timeout", null, "No response", e); } var response = (HttpWebResponse)e.Response; using (var sr = new StreamReader(response.GetResponseStream())) { responseText = sr.ReadToEnd(); } throw new HttpClientException((int)response.StatusCode, "HTTP Exception", response.Headers, responseText); } return(responseText); }
public static bool ValidateCertificate(string certificateCommonName, Model.Enum.Environment environment) { var enviromentName = environment.ToString().ToLower(); var patternRegex = "(?:^|,\\s?)(?:(?<name>[A-Z]+)=(?<val>\"(?:[^\"]|\"\")+\"|[^,]+))+"; var regex = new Regex(patternRegex); var groupsName = regex.GetGroupNames(); var matches = regex.Matches(certificateCommonName); foreach (Match match in matches) { string groupName = match.Groups["name"].Value; if ("CN".Equals(groupName)) { var commonNameValue = match.Groups["val"].Value; var regexPattern = _terminalApiCnRegex.Replace(_enviromentWildcard, environment.ToString().ToLower()); var legacyCert = _terminalApiLegacy.Replace(_enviromentWildcard, environment.ToString().ToLower()); if (Regex.Match(commonNameValue, regexPattern).Success || string.Equals(commonNameValue, legacyCert)) { return(true); } } } return(false); }
public TerminalCNValidationParameters(string commonName, Adyen.Model.Enum.Environment environment, bool testSuccess) { CommonName = commonName; TestSuccess = testSuccess; Environment = environment; }