aboutsummaryrefslogtreecommitdiffstats
path: root/mediagoblin/api
diff options
context:
space:
mode:
authorRomain Porte <microjoe@microjoe.org>2017-11-11 18:29:54 +0100
committerBoris Bobrov <breton@cynicmansion.ru>2017-11-11 20:41:01 +0300
commitf2b4760bd50d4ad6ec5899e90f655c2f4cf0884a (patch)
tree231b19281d643c43b33d317c65ba5b96fb0b1302 /mediagoblin/api
parenta63d628f594f115b3fbe61590ccc2a8962a36d8a (diff)
downloadmediagoblin-f2b4760bd50d4ad6ec5899e90f655c2f4cf0884a.tar.lz
mediagoblin-f2b4760bd50d4ad6ec5899e90f655c2f4cf0884a.tar.xz
mediagoblin-f2b4760bd50d4ad6ec5899e90f655c2f4cf0884a.zip
Change API filename upload using custom header
When uploading a file using the API its same is always going to be 'unknown.<extension>', which is not good looking for file urls. This patch proposes a custom header named 'X-File-Name' that allows to specify a file name using an API client. This changeset was tested with a local OAuth1 client.
Diffstat (limited to 'mediagoblin/api')
-rw-r--r--mediagoblin/api/views.py9
1 files changed, 7 insertions, 2 deletions
diff --git a/mediagoblin/api/views.py b/mediagoblin/api/views.py
index 74181fde..b25300f0 100644
--- a/mediagoblin/api/views.py
+++ b/mediagoblin/api/views.py
@@ -115,8 +115,13 @@ def uploads_endpoint(request):
)
mimetype = request.headers["Content-Type"]
- filename = mimetypes.guess_all_extensions(mimetype)
- filename = 'unknown' + filename[0] if filename else filename
+
+ if "X-File-Name" in request.headers:
+ filename = request.headers["X-File-Name"]
+ else:
+ filename = mimetypes.guess_all_extensions(mimetype)
+ filename = 'unknown' + filename[0] if filename else filename
+
file_data = FileStorage(
stream=io.BytesIO(request.data),
filename=filename,