public async Task <Response> Handle(Request request, CancellationToken cancellationToken)
            {
                var cloudBlobContainer = _cloudBlobClient.GetContainerReference("images");

                await cloudBlobContainer.CreateIfNotExistsAsync();

                var permissions = new BlobContainerPermissions
                {
                    PublicAccess = BlobContainerPublicAccessType.Blob
                };

                await cloudBlobContainer.SetPermissionsAsync(permissions);

                var httpContext = _httpContextAccessor.HttpContext;

                var defaultFormOptions = new FormOptions();

                var mediaTypeHeaderValue = MediaTypeHeaderValue.Parse(httpContext.Request.ContentType);

                var boundary = MultipartRequestHelper.GetBoundary(
                    mediaTypeHeaderValue,
                    defaultFormOptions.MultipartBoundaryLengthLimit);

                var reader = new MultipartReader(boundary, httpContext.Request.Body);

                var section = await reader.ReadNextSectionAsync();

                var urls = new List <string>();

                while (section != null)
                {
                    urls.Add(await Upload(cloudBlobContainer, section));

                    section = await reader.ReadNextSectionAsync();
                }

                return(new Response()
                {
                    Urls = urls
                });
            }