Test for Get Object with Preview (#1848)

* Test for Get Object with Preview

Signed-off-by: Daniel Valdivia <18384552+dvaldivia@users.noreply.github.com>
This commit is contained in:
Daniel Valdivia
2022-04-18 12:03:06 -07:00
committed by GitHub
parent 50bc755b44
commit 86797cda20
4 changed files with 207 additions and 3 deletions

View File

@@ -413,7 +413,11 @@ func getDownloadObjectResponse(session *models.Principal, params user_api.Downlo
// indicate object size & content type
stat, err := resp.Stat()
if err != nil {
LogError("Failed to get Stat() response from server for %s: %v", prefix, err)
minErr := minio.ToErrorResponse(err)
// non-200 means we requested something wrong
rw.WriteHeader(minErr.StatusCode)
LogError("Failed to get Stat() response from server for %s (version %s): %v", prefix, opts.VersionID, minErr.Error())
return
}
@@ -421,6 +425,7 @@ func getDownloadObjectResponse(session *models.Principal, params user_api.Downlo
ranges, err := parseRange(params.HTTPRequest.Header.Get("Range"), stat.Size)
if err != nil {
LogError("Unable to parse range header input %s: %v", params.HTTPRequest.Header.Get("Range"), err)
rw.WriteHeader(400)
return
}
contentType := stat.ContentType
@@ -450,6 +455,7 @@ func getDownloadObjectResponse(session *models.Principal, params user_api.Downlo
_, err = resp.Seek(start, io.SeekStart)
if err != nil {
LogError("Unable to seek at offset %d: %v", start, err)
rw.WriteHeader(400)
return
}