public override Task<Stream> GetResourceStream(Location resourceLocation, ResourceAccessorOptions options)
        {
            if (options != null && options[FeedDownloader.UserAgentOptionName] == FeedDownloader.ITunesUserAgent)
            {
                return base.GetResourceStream(resourceLocation, options);
            }

            return null;
        }
Exemplo n.º 2
0
 internal static void AddCustomHeaders(WebRequest fakeRequest, ResourceAccessorOptions options)
 {
     if (options != null)
     {
         foreach (var option in options)
         {
             fakeRequest.Headers[option.Key] = option.Value;
         }
     }
 }
Exemplo n.º 3
0
        public Task<Stream> GetResourceStream(Location resourceLocation, ResourceAccessorOptions options)
        {
            if (resourceLocation == null)
            {
                throw new ArgumentNullException("resourceLocation");
            }

            var request = WebRequest.Create(resourceLocation.LocationUri);
            AddBasicAuthenticationHeader(request, resourceLocation.Credentials);
            AddCustomHeaders(request, options);

            return Task<Stream>.Factory.FromAsync(
                request.BeginGetResponse,
                (result) => request.EndGetResponse(result).GetResponseStream(),
                null);
        }
Exemplo n.º 4
0
        public void AddCustomHeaders_should_add_headers_based_on_custom_options()
        {
            // Arrange
            var fakeRequest = new FakeRequest();
            var options = new ResourceAccessorOptions();
            var header = "Foo";
            var headerValue = "Bar";
            options[header] = headerValue;

            // Act
            UrlResourceAccessor.AddCustomHeaders(fakeRequest, options);

            // Assert
            fakeRequest.Headers.Keys.Should().Contain(header);
            fakeRequest.Headers[header].Should().Be(headerValue);
        }
Exemplo n.º 5
0
        public void ResourceAccessorOptions_indexer_should_return_custom_options()
        {
            // Arrange
            var subjectUnderTest = new ResourceAccessorOptions();
            var header = "Foo";
            var headerValue = "Bar";
            subjectUnderTest[header] = headerValue;

            // Act
            var actual = subjectUnderTest[header];

            // Assert
            actual.Should().Be(headerValue);
        }
 public virtual Task<Stream> GetResourceStream(Location resourceLocation, ResourceAccessorOptions options)
 {
     return _source[resourceLocation];
 }
Exemplo n.º 7
0
 internal static ResourceAccessorOptions CreateResourceAccessorOptions()
 {
     var options = new ResourceAccessorOptions();
     options[UserAgentOptionName] = ITunesUserAgent;
     return options;
 }