public async Task <InputRequestModel> GetInputRequestModelAsync(HttpRequest request)
        {
            LoggerService.Info("Beginning validation", LoggerService.Validation);
            InputValidator.Validate(request);

            LoggerService.Info("Passed local validation", LoggerService.Validation);

            InputRequestModel model = new InputRequestModel
            {
                LiveEvents = request.Query[EventsQuery]
                             .ToString()
                             .Split(',')
                             .Select(eventName => eventName.Trim())
                             .Where(eventName => !string.IsNullOrEmpty(eventName))
                             .ToList(),

                StreamingEndpoint = request.Query[EndpointQuery]
                                    .ToString()
                                    .Trim()
            };

            await ServiceValidator.ValidateAsync(model);

            LoggerService.Info("Passed remote validation", LoggerService.Validation);

            return(model);
        }