public async Task <RawDataResponse> GetRawData(DataExtractingQueueItem queueItem)
        {
            var accessToken = GetAccessToken(queueItem);
            var requestUrl  = GetUrl();

            TwitterDataResponse response;

            try
            {
                response = await SendRequestAsync <TwitterDataResponse>(requestUrl, HttpMethod.Get, (client, request) =>
                {
                    request.Headers.Authorization = new AuthenticationHeaderValue(AUTH_KEY, accessToken);
                    request.Headers.AcceptEncoding.Add(new StringWithQualityHeaderValue(GZIP_FLAG));
                });
            }
            catch (UnauthorizedAccessException)
            {
                RenewToken(accessToken);
                return(await GetRawData(queueItem));
            }

            var result = Map(response);

            return(result);
        }
Esempio n. 2
0
 private bool GetNext(out DataExtractingQueueItem queueItem)
 {
     lock (_monitor)
     {
         queueItem = _dataService.GetNextFromQueue();
         if (queueItem == null)
         {
             return(false);
         }
         _dataService.Acquire(queueItem);
     }
     return(true);
 }
 private string GetAccessToken(DataExtractingQueueItem queueItem)
 {
     //omitted for brevity
     throw new NotImplementedException();
 }