Skip to content

respect content-disposition response header field if provided #129

@yarikoptic

Description

@yarikoptic
An example for dandiarchive URL
$> wget -S https://api.dandiarchive.org/api/assets/db080212-f712-4f09-b3b6-b39554cdd74e/download/  
--2021-08-20 16:36:26--  https://api.dandiarchive.org/api/assets/db080212-f712-4f09-b3b6-b39554cdd74e/download/
Resolving api.dandiarchive.org (api.dandiarchive.org)... 54.162.128.250, 18.205.36.100, 54.157.58.70, ...
Connecting to api.dandiarchive.org (api.dandiarchive.org)|54.162.128.250|:443... connected.
HTTP request sent, awaiting response... 
  HTTP/1.1 302 Found
  Connection: keep-alive
  Server: gunicorn
  Date: Fri, 20 Aug 2021 20:36:26 GMT
  Content-Type: text/html; charset=utf-8
  Location: https://dandiarchive.s3.amazonaws.com/blobs/74f/474/74f47415-04df-4b9c-9343-5e9a949dd5ba?response-content-disposition=attachment%3B%20filename%3D%22sub-MITU01_ses-MR_T1map.nii.gz%22&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAUBRWC5GAEKH3223E%2F20210820%2Fus-east-2%2Fs3%2Faws4_request&X-Amz-Date=20210820T203626Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host&X-Amz-Signature=8f8840df510bade887f4d22ea04fbcbd934e8b5262531c81f9754ed77eb4440c
  Vary: Accept, Cookie, Origin
  Allow: GET, HEAD, OPTIONS
  X-Frame-Options: DENY
  Content-Length: 0
  Strict-Transport-Security: max-age=31536000
  X-Content-Type-Options: nosniff
  Referrer-Policy: same-origin
  Via: 1.1 vegur
Location: https://dandiarchive.s3.amazonaws.com/blobs/74f/474/74f47415-04df-4b9c-9343-5e9a949dd5ba?response-content-disposition=attachment%3B%20filename%3D%22sub-MITU01_ses-MR_T1map.nii.gz%22&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAUBRWC5GAEKH3223E%2F20210820%2Fus-east-2%2Fs3%2Faws4_request&X-Amz-Date=20210820T203626Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host&X-Amz-Signature=8f8840df510bade887f4d22ea04fbcbd934e8b5262531c81f9754ed77eb4440c [following]
--2021-08-20 16:36:26--  https://dandiarchive.s3.amazonaws.com/blobs/74f/474/74f47415-04df-4b9c-9343-5e9a949dd5ba?response-content-disposition=attachment%3B%20filename%3D%22sub-MITU01_ses-MR_T1map.nii.gz%22&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAUBRWC5GAEKH3223E%2F20210820%2Fus-east-2%2Fs3%2Faws4_request&X-Amz-Date=20210820T203626Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host&X-Amz-Signature=8f8840df510bade887f4d22ea04fbcbd934e8b5262531c81f9754ed77eb4440c
Resolving dandiarchive.s3.amazonaws.com (dandiarchive.s3.amazonaws.com)... 52.219.98.68
Connecting to dandiarchive.s3.amazonaws.com (dandiarchive.s3.amazonaws.com)|52.219.98.68|:443... connected.
HTTP request sent, awaiting response... 
  HTTP/1.1 200 OK
  x-amz-id-2: GJzEXRY1dUyHx4Uvir9qcZJ93xnoi1/b2zbtR54CfEX08ZHMYidggWK2nF0r/z38YwxtagQwNZc=
  x-amz-request-id: HBD8RV2ZEB96D8XS
  Date: Fri, 20 Aug 2021 20:36:28 GMT
  Last-Modified: Thu, 20 May 2021 15:45:12 GMT
  ETag: "88fba545aeb0f44cfecd0c023a1e817e-28"
  x-amz-version-id: xh4VEcI5OY_nMWCO.4VuNLwEq.h.2F7C
  Content-Disposition: attachment; filename="sub-MITU01_ses-MR_T1map.nii.gz"
  Accept-Ranges: bytes
  Content-Type: binary/octet-stream
  Server: AmazonS3
  Content-Length: 1863940394
Length: 1863940394 (1.7G) [binary/octet-stream]
Saving to: ‘index.html.2’

index.html.2                                            0%[                                                                                                                          ] 781.51K  2.35MB/s             index.html.2                                            0%[     

you can see that in the response header there is

  Content-Disposition: attachment; filename="sub-MITU01_ses-MR_T1map.nii.gz"

relevant code path pointed to: https://github.com/bioimagesuiteweb/bisweb/blob/devel/js/core/bis_coregenericio.js#L590

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions