public async Task <ImageResponse> GetProcessedImage(GetImageRequest request, CancellationToken cancellationToken) { var image = await _imageService.LoadImage($"{_appSettings.ProductImagesPath}{request.FileName}", cancellationToken); _imageService.ConstrainSize(image, request); _imageService.SetBackgroundColor(image, request); _imageService.SetWaterMark(image, request); var(bytes, contentType) = await _imageSavingStrategy.SaveImage(image, request.ImageFileType, cancellationToken); return(ImageResponse.GetResponse(ResponseType.Ok, bytes, contentType)); }