Reacting to FileSystem changes

This commit is contained in:
Pranav K 2014-12-20 06:50:20 -08:00
parent 46e60b1276
commit 35ec5be17f
2 changed files with 7 additions and 7 deletions

View File

@ -46,9 +46,9 @@ namespace Microsoft.AspNet.StaticFiles
return false; return false;
} }
internal static bool TryParseHttpDate(string dateString, out DateTime parsedDate) internal static bool TryParseHttpDate(string dateString, out DateTimeOffset parsedDate)
{ {
return DateTime.TryParseExact(dateString, Constants.HttpDateFormat, CultureInfo.InvariantCulture, DateTimeStyles.None, out parsedDate); return DateTimeOffset.TryParseExact(dateString, Constants.HttpDateFormat, CultureInfo.InvariantCulture, DateTimeStyles.None, out parsedDate);
} }
internal static string ResolveRootPath(string webRoot, PathString path) internal static string ResolveRootPath(string webRoot, PathString path)

View File

@ -30,7 +30,7 @@ namespace Microsoft.AspNet.StaticFiles
private string _contentType; private string _contentType;
private IFileInfo _fileInfo; private IFileInfo _fileInfo;
private long _length; private long _length;
private DateTime _lastModified; private DateTimeOffset _lastModified;
private string _lastModifiedString; private string _lastModifiedString;
private string _etag; private string _etag;
private string _etagQuoted; private string _etagQuoted;
@ -134,7 +134,7 @@ namespace Microsoft.AspNet.StaticFiles
_lastModified = new DateTime(last.Year, last.Month, last.Day, last.Hour, last.Minute, last.Second, last.Kind); _lastModified = new DateTime(last.Year, last.Month, last.Day, last.Hour, last.Minute, last.Second, last.Kind);
_lastModifiedString = _lastModified.ToString(Constants.HttpDateFormat, CultureInfo.InvariantCulture); _lastModifiedString = _lastModified.ToString(Constants.HttpDateFormat, CultureInfo.InvariantCulture);
long etagHash = _lastModified.ToFileTimeUtc() ^ _length; long etagHash = _lastModified.ToFileTime() ^ _length;
_etag = Convert.ToString(etagHash, 16); _etag = Convert.ToString(etagHash, 16);
_etagQuoted = '\"' + _etag + '\"'; _etagQuoted = '\"' + _etag + '\"';
} }
@ -189,7 +189,7 @@ namespace Microsoft.AspNet.StaticFiles
{ {
// 14.25 If-Modified-Since // 14.25 If-Modified-Since
string ifModifiedSinceString = _request.Headers.Get(Constants.IfModifiedSince); string ifModifiedSinceString = _request.Headers.Get(Constants.IfModifiedSince);
DateTime ifModifiedSince; DateTimeOffset ifModifiedSince;
if (Helpers.TryParseHttpDate(ifModifiedSinceString, out ifModifiedSince)) if (Helpers.TryParseHttpDate(ifModifiedSinceString, out ifModifiedSince))
{ {
bool modified = ifModifiedSince < _lastModified; bool modified = ifModifiedSince < _lastModified;
@ -198,7 +198,7 @@ namespace Microsoft.AspNet.StaticFiles
// 14.28 If-Unmodified-Since // 14.28 If-Unmodified-Since
string ifUnmodifiedSinceString = _request.Headers.Get(Constants.IfUnmodifiedSince); string ifUnmodifiedSinceString = _request.Headers.Get(Constants.IfUnmodifiedSince);
DateTime ifUnmodifiedSince; DateTimeOffset ifUnmodifiedSince;
if (Helpers.TryParseHttpDate(ifUnmodifiedSinceString, out ifUnmodifiedSince)) if (Helpers.TryParseHttpDate(ifUnmodifiedSinceString, out ifUnmodifiedSince))
{ {
bool unmodified = ifUnmodifiedSince >= _lastModified; bool unmodified = ifUnmodifiedSince >= _lastModified;
@ -241,7 +241,7 @@ namespace Microsoft.AspNet.StaticFiles
// resource, then the server SHOULD process the Range header field as // resource, then the server SHOULD process the Range header field as
// requested. If the validator does not match, the server MUST ignore // requested. If the validator does not match, the server MUST ignore
// the Range header field. // the Range header field.
DateTime ifRangeLastModified; DateTimeOffset ifRangeLastModified;
bool ignoreRangeHeader = false; bool ignoreRangeHeader = false;
if (Helpers.TryParseHttpDate(ifRangeHeader, out ifRangeLastModified)) if (Helpers.TryParseHttpDate(ifRangeHeader, out ifRangeLastModified))
{ {