diff options
author | Fushan Wen <qydwhotmail@gmail.com> | 2021-08-22 16:27:51 +0800 |
---|---|---|
committer | Fushan Wen <qydwhotmail@gmail.com> | 2021-09-03 00:07:48 +0800 |
commit | f4b35f25d30492150195ddfe0bf63592ee2bad9f (patch) | |
tree | 0e551d27339d1cf7b72a9ea09aa95cabb441ece1 | |
parent | 02254b13bb4818745193092f2144fd83726d79e7 (diff) | |
download | onionshare-f4b35f25d30492150195ddfe0bf63592ee2bad9f.tar.gz onionshare-f4b35f25d30492150195ddfe0bf63592ee2bad9f.zip |
Make last_modified and if_date timezone-aware
Fix #1398
-rw-r--r-- | cli/onionshare_cli/web/share_mode.py | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/cli/onionshare_cli/web/share_mode.py b/cli/onionshare_cli/web/share_mode.py index 51ddd674..b24d72f1 100644 --- a/cli/onionshare_cli/web/share_mode.py +++ b/cli/onionshare_cli/web/share_mode.py @@ -25,7 +25,7 @@ import sys import tempfile import zipfile import mimetypes -from datetime import datetime +from datetime import datetime, timezone from flask import Response, request, render_template, make_response, abort from unidecode import unidecode from werkzeug.http import parse_date, http_date @@ -127,7 +127,7 @@ class ShareModeWeb(SendBaseModeWeb): self.download_etag = None self.gzip_etag = None - self.last_modified = datetime.utcnow() + self.last_modified = datetime.now(tz=timezone.utc) def define_routes(self): """ @@ -288,6 +288,8 @@ class ShareModeWeb(SendBaseModeWeb): if_unmod = request.headers.get("If-Unmodified-Since") if if_unmod: if_date = parse_date(if_unmod) + if if_date and not if_date.tzinfo: + if_date = if_date.replace(tzinfo=timezone.utc) # Compatible with Flask < 2.0.0 if if_date and if_date > last_modified: abort(412) elif range_header is None: |