The client supports parallel downloads using HTTP Range Requests. Currently, the client assumes ranged requests are supported if and only if the server performs a redirect via a http.StatusSeeOther. Otherwise, c.singleStreamDownload is utilized:
This negatively impacts download performance against servers that support ranged requests, but do not redirect via http.StatusSeeOther, and is the root cause of #129.
The current logic should be replaced with logic that detects HTTP range support in the standard fashion (ref).
The client supports parallel downloads using HTTP Range Requests. Currently, the client assumes ranged requests are supported if and only if the server performs a redirect via a
http.StatusSeeOther
. Otherwise,c.singleStreamDownload
is utilized:https://github.com/sylabs/scs-library-client/blob/2e30d58f8a9212b4a35946eb62d42f1e84140f0c/client/pull.go#L273-L278
This negatively impacts download performance against servers that support ranged requests, but do not redirect via
http.StatusSeeOther
, and is the root cause of #129.The current logic should be replaced with logic that detects HTTP range support in the standard fashion (ref).