Beispiel #1
0
        public async Task <IActionResult> Index(string q)
        {
            if (string.IsNullOrWhiteSpace(q))
            {
                return(View());
            }

            var timer = new Stopwatch();

            timer.Start();

            ViewData["q"] = q;

            var result = await _reader.Read(Request, _model);

            ViewData["time_ms"] = timer.ElapsedMilliseconds;
            ViewData["total"]   = result.Total;

            if (result.Total == 0)
            {
                return(View(new SearchResultModel[0]));
            }

            var documents = result.Documents.Select(x => new SearchResultModel {
                Document = x
            });

            return(View(documents));
        }
Beispiel #2
0
        public async Task <IActionResult> Get()
        {
            var mediaType = Request.Headers["Accept"].ToArray()[0];
            var timer     = Stopwatch.StartNew();
            var result    = await _reader.Read(Request, _model);

            _logger.LogInformation($"processed {mediaType} request in {timer.Elapsed}");

            Response.Headers.Add("X-Total", result.Total.ToString());

            if (result.Total == 0)
            {
                return(new EmptyResult());
            }

            return(new FileContentResult(result.Body, result.MediaType));
        }
Beispiel #3
0
        public async Task <IActionResult> Index(string q)
        {
            if (string.IsNullOrWhiteSpace(q))
            {
                return(View());
            }

            var timer = new Stopwatch();

            timer.Start();

            ViewData["q"] = q;

            var result = await _reader.Read(Request, _model);

            ViewData["time_ms"] = timer.ElapsedMilliseconds;
            ViewData["total"]   = result.Total;

            return(View(result));
        }
Beispiel #4
0
        public async Task <IActionResult> Get()
        {
            var timer  = Stopwatch.StartNew();
            var result = await _reader.Read(Request, _model);

            _logger.LogInformation($"processed request in {timer.Elapsed}");

            Response.Headers.Add("X-TotalDocumentCount", result.Total.ToString());

            if (result.Total == 0)
            {
                return(new EmptyResult());
            }

            using (var mem = new MemoryStream())
            {
                Serialize(result.Documents, mem);

                return(new FileContentResult(mem.ToArray(), "application/json"));
            }
        }