Esempio n. 1
0
        /// <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.");
        }