/// <summary> /// Query Google. /// </summary> /// <param name="request"></param> /// <param name="timeout"></param> /// <returns>TResponse</returns> protected internal static TResponse QueryGoogleApi(TRequest request, TimeSpan timeout) { if (request == null) { throw new ArgumentNullException(nameof(request)); } if (request is IJsonRequest) { return(GenericEngine <TRequest, TResponse> .JsonRequest(request, timeout)); } if (request is IQueryStringRequest) { return(GenericEngine <TRequest, TResponse> .QuerystringRequest(request, timeout)); } throw new InvalidOperationException("Invalid Request. Request class missing Request interface implementation."); }