Add X-Expires to file response headers

Tells clients when files will expire, in milliseconds since Unix epoch.

Closes #50.
This commit is contained in:
Mia Herkt 2022-11-30 02:28:19 +01:00
parent e168534258
commit 9214bb4832
No known key found for this signature in database
GPG Key ID: 72E154B8622EC191

View File

@ -344,6 +344,7 @@ def store_file(f, requested_expiration: typing.Optional[int], addr):
sf, isnew = File.store(f, requested_expiration, addr) sf, isnew = File.store(f, requested_expiration, addr)
response = make_response(sf.geturl()) response = make_response(sf.geturl())
response.headers["X-Expires"] = sf.expiration
if isnew: if isnew:
response.headers["X-Token"] = sf.mgmt_token response.headers["X-Token"] = sf.mgmt_token
@ -427,9 +428,11 @@ def get(path):
response.headers["Content-Type"] = f.mime response.headers["Content-Type"] = f.mime
response.headers["Content-Length"] = fpath.stat().st_size response.headers["Content-Length"] = fpath.stat().st_size
response.headers["X-Accel-Redirect"] = "/" + str(fpath) response.headers["X-Accel-Redirect"] = "/" + str(fpath)
return response
else: else:
return send_from_directory(app.config["FHOST_STORAGE_PATH"], f.sha256, mimetype = f.mime) response = send_from_directory(app.config["FHOST_STORAGE_PATH"], f.sha256, mimetype = f.mime)
response.headers["X-Expires"] = f.expiration
return response
else: else:
if request.method == "POST": if request.method == "POST":
abort(405) abort(405)