public override string Fetch(DataRow dr) { Initialize(dr, true, new SPMConfig() { AcceptAllCertificatePolicy = true, Expect100Continue = false }); string message = String.Empty; string output = String.Empty; ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3 | SecurityProtocolType.Tls | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12; Result<string> fields = Validate(); if (fields.IsValid) { WebSearch webSearch = new WebSearch(provider); Result<IRestResponse> response = webSearch.Execute(); if (response.IsValid) { WebParse webParse = new WebParse(response.Type, provider); Result<string> parseResult = webParse.Execute(response.Value); if (parseResult.IsValid) { HandleModes(response.Value.Content, webParse); output = parseResult.Value; } else { message = parseResult.Message; } } else { message = response.Message; } } else { message = fields.Message; } return ProcessResults(output, message); }