public override string Fetch(DataRow dr) { Initialize(dr, true, new SPMConfig() { AcceptAllCertificatePolicy = true, Expect100Continue = false }); string message = String.Empty; string output = String.Empty; Result <string> fields = Validate(); if (fields.IsValid) { WebSearch webSearch = new WebSearch(provider); Result <IRestResponse> response = webSearch.Execute(); if (response.IsValid) { WebParse webParse = new WebParse(); 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)); }