public async Task <EmptyResponseDto> Play() { try { var request = await HttpContext.GetRequestDataAsync <PlayCliFileRequestDto>(); if (request == null) { _logger.LogWarning($"{nameof(Play)}: Nothing will be played, because no request was provided"); return(new EmptyResponseDto(false, "Invalid request. You need to provide the play request object")); } _logger.LogInformation($"{nameof(Play)}: Getting file info for = {request.Mrl}..."); var fileInfo = await _ffmpegService.GetFileInfo(request.Mrl, default); if (fileInfo == null && _fileService.IsUrlFile(request.Mrl)) { fileInfo = new FFProbeFileInfo(); } _logger.LogInformation( $"{nameof(Play)}: Trying to play file = {JsonConvert.SerializeObject(request)}..."); await _castService.StartPlay(request, fileInfo); _logger.LogInformation($"{nameof(Play)}: Mrl = {request.Mrl} was successfully loaded"); return(new EmptyResponseDto(true)); } catch (Exception e) { _logger.LogError(e, $"{nameof(Play)}: Unknown error occurred"); return(new EmptyResponseDto(false, e.Message)); } }