Skip to content

Commit c5b394b

Browse files
Correctly parse access conditions
1 parent 989691b commit c5b394b

File tree

1 file changed

+15
-9
lines changed

1 file changed

+15
-9
lines changed

src/Umbraco.StorageProviders.AzureBlob/AzureBlobFileSystemMiddleware.cs

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -253,11 +253,12 @@ private async Task HandleRequestAsync(HttpContext context, RequestDelegate next)
253253
}
254254

255255
var ifModifiedSince = request.Headers["If-Modified-Since"];
256-
if (!string.IsNullOrEmpty(ifModifiedSince))
256+
if (!string.IsNullOrEmpty(ifModifiedSince) &&
257+
DateTimeOffset.TryParse(ifModifiedSince, CultureInfo.InvariantCulture, DateTimeStyles.None, out DateTimeOffset ifModifiedSinceDate))
257258
{
258259
return new BlobRequestConditions
259260
{
260-
IfModifiedSince = DateTimeOffset.Parse(ifModifiedSince, CultureInfo.InvariantCulture)
261+
IfModifiedSince = ifModifiedSinceDate
261262
};
262263
}
263264
}
@@ -268,24 +269,29 @@ private async Task HandleRequestAsync(HttpContext context, RequestDelegate next)
268269
var ifRange = request.Headers["If-Range"];
269270
if (!string.IsNullOrEmpty(ifRange))
270271
{
271-
var conditions = new BlobRequestConditions();
272-
273-
if (DateTimeOffset.TryParse(ifRange, out var date))
272+
if (DateTimeOffset.TryParse(ifRange, CultureInfo.InvariantCulture, DateTimeStyles.None, out DateTimeOffset ifRangeDate))
274273
{
275-
conditions.IfUnmodifiedSince = date;
274+
return new BlobRequestConditions()
275+
{
276+
IfUnmodifiedSince = ifRangeDate
277+
};
276278
}
277279
else
278280
{
279-
conditions.IfMatch = new ETag(ifRange);
281+
return new BlobRequestConditions()
282+
{
283+
IfMatch = new ETag(ifRange)
284+
};
280285
}
281286
}
282287

283288
var ifUnmodifiedSince = request.Headers["If-Unmodified-Since"];
284-
if (!string.IsNullOrEmpty(ifUnmodifiedSince))
289+
if (!string.IsNullOrEmpty(ifUnmodifiedSince) &&
290+
DateTimeOffset.TryParse(ifUnmodifiedSince, CultureInfo.InvariantCulture, DateTimeStyles.None, out DateTimeOffset ifUnmodifiedSinceDate))
285291
{
286292
return new BlobRequestConditions
287293
{
288-
IfUnmodifiedSince = DateTimeOffset.Parse(ifUnmodifiedSince, CultureInfo.InvariantCulture)
294+
IfUnmodifiedSince = ifUnmodifiedSinceDate
289295
};
290296
}
291297
}

0 commit comments

Comments
 (0)