diff options
| author | Romain Porte <microjoe@microjoe.org> | 2017-11-11 18:29:54 +0100 | 
|---|---|---|
| committer | Boris Bobrov <breton@cynicmansion.ru> | 2017-11-11 20:41:01 +0300 | 
| commit | f2b4760bd50d4ad6ec5899e90f655c2f4cf0884a (patch) | |
| tree | 231b19281d643c43b33d317c65ba5b96fb0b1302 | |
| parent | a63d628f594f115b3fbe61590ccc2a8962a36d8a (diff) | |
| download | mediagoblin-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.
| -rw-r--r-- | mediagoblin/api/views.py | 9 | 
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, | 
