public SearchController(IPostRepository postRepository, IPostIndexer postIndexer, SiteConfiguration siteConfiguration, ICache postContentCache)
 {
     _postRepository    = postRepository ?? throw new ArgumentNullException(nameof(postRepository));
     _postIndexer       = postIndexer ?? throw new ArgumentNullException(nameof(postIndexer));
     _siteConfiguration = siteConfiguration ?? throw new ArgumentNullException(nameof(siteConfiguration));
     _postContentCache  = postContentCache ?? throw new ArgumentNullException(nameof(postContentCache));
 }
 public CachingPostIndexer(IPostIndexer postIndexer, IPostIndexCache cache)
 {
     _cache       = cache ?? throw new ArgumentNullException(nameof(cache));
     _postIndexer = postIndexer ?? throw new ArgumentNullException(nameof(postIndexer));
 }
 public PostsController(IPostRepository postsRepository, IPostIndexer indexer)
 {
     _postsRepository = postsRepository;
     _indexer = indexer;
 }