public new async Task<HttpResponseMessage> GetAsync(string url, SortedDictionary<string, string> parameters)
{
if (TwitterCredentials == TwitterCredentials.Null || TwitterCredentials.Valid == false)
throw new ArgumentException("TwitterCredentials must be specified and validated");
var querystring = parameters.Aggregate("", (current, entry) => current + (entry.Key + "=" + entry.Value + "&"));
var oauth1aAuthheader = BuildAuthenticatedResult(url, parameters, "GET");
var fullUrl = url;
var handler = new HttpClientHandler();
if (handler.SupportsAutomaticDecompression)
{
handler.AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate;
}
var client = new HttpClient(handler);
client.DefaultRequestHeaders.Add("Authorization", oauth1aAuthheader.Header);
client.DefaultRequestHeaders.Add("User-Agent", TwitterApi.UserAgent());
if (!string.IsNullOrWhiteSpace(querystring))
fullUrl += "?" + querystring.Substring(0, querystring.Length - 1);
var download = client.GetAsync(fullUrl).ToObservable().Timeout(TimeSpan.FromSeconds(waitTimeoutSeconds));
var clientdownload = await download;
return clientdownload;
}