Ejemplo n.º 1
0
        public GoodreadsProxy(ICachedHttpResponseService cachedHttpClient,
                              IAuthorService authorService,
                              IBookService bookService,
                              IEditionService editionService,
                              Logger logger,
                              ICacheManager cacheManager)
        {
            _cachedHttpClient = cachedHttpClient;
            _authorService    = authorService;
            _bookService      = bookService;
            _editionService   = editionService;
            _cache            = cacheManager.GetCache <HashSet <string> >(GetType());
            _logger           = logger;

            _requestBuilder = new HttpRequestBuilder("https://www.goodreads.com/{route}")
                              .AddQueryParam("key", new string("gSuM2Onzl6sjMU25HY1Xcd".Reverse().ToArray()))
                              .AddQueryParam("_nc", "1")
                              .SetHeader("User-Agent", "Dalvik/1.6.0 (Linux; U; Android 4.1.2; GT-I9100 Build/JZO54K)")
                              .KeepAlive()
                              .CreateFactory();

            _searchBuilder = new HttpRequestBuilder("https://www.goodreads.com/book/auto_complete")
                             .AddQueryParam("format", "json")
                             .SetHeader("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36")
                             .KeepAlive()
                             .CreateFactory();
        }
Ejemplo n.º 2
0
        public BookInfoProxy(IHttpClient httpClient,
                             ICachedHttpResponseService cachedHttpClient,
                             IGoodreadsSearchProxy goodreadsSearchProxy,
                             IAuthorService authorService,
                             IBookService bookService,
                             IEditionService editionService,
                             IMetadataRequestBuilder requestBuilder,
                             Logger logger,
                             ICacheManager cacheManager)
        {
            _httpClient           = httpClient;
            _cachedHttpClient     = cachedHttpClient;
            _goodreadsSearchProxy = goodreadsSearchProxy;
            _authorService        = authorService;
            _bookService          = bookService;
            _editionService       = editionService;
            _requestBuilder       = requestBuilder;
            _cache  = cacheManager.GetCache <HashSet <string> >(GetType());
            _logger = logger;

            _authorCache = new CachingService(new MemoryCacheProvider(new MemoryCache(new MemoryCacheOptions {
                SizeLimit = 10
            })));
            _authorCache.DefaultCachePolicy = new CacheDefaults
            {
                DefaultCacheDurationSeconds = 60
            };
        }
Ejemplo n.º 3
0
        public GoodreadsProxy(ICachedHttpResponseService cachedHttpClient,
                              Logger logger)
        {
            _cachedHttpClient = cachedHttpClient;
            _logger           = logger;

            _requestBuilder = new HttpRequestBuilder("https://www.goodreads.com/{route}")
                              .AddQueryParam("key", new string("gSuM2Onzl6sjMU25HY1Xcd".Reverse().ToArray()))
                              .AddQueryParam("_nc", "1")
                              .SetHeader("User-Agent", "Dalvik/1.6.0 (Linux; U; Android 4.1.2; GT-I9100 Build/JZO54K)")
                              .KeepAlive()
                              .CreateFactory();
        }
Ejemplo n.º 4
0
        public GoodreadsSearchProxy(ICachedHttpResponseService cachedHttpClient,
                                    Logger logger)
        {
            _cachedHttpClient = cachedHttpClient;
            _logger           = logger;

            _searchBuilder = new HttpRequestBuilder("https://www.goodreads.com/book/auto_complete")
                             .AddQueryParam("format", "json")
                             .SetHeader("User-Agent",
                                        "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36")
                             .KeepAlive()
                             .CreateFactory();
        }