Merge pull request #410 from fkautz/pr_out_rename_writeobjectheaders_to_setobjectheaders_fix_writing_multiple_headers_bug

This commit is contained in:
Frederick F. Kautz IV 2015-03-29 18:50:29 -07:00
commit 0f6abe9ee3
2 changed files with 5 additions and 13 deletions

View File

@ -52,14 +52,10 @@ func (server *minioAPI) getObjectHandler(w http.ResponseWriter, req *http.Reques
}
switch httpRange.start == 0 && httpRange.length == 0 {
case true:
writeObjectHeaders(w, metadata)
setObjectHeaders(w, metadata)
if _, err := server.driver.GetObject(w, bucket, object); err != nil {
log.Error.Println(err)
error := getErrorCode(InternalError)
errorResponse := getErrorResponse(error, "/"+bucket+"/"+object)
setCommonHeaders(w, getContentTypeString(acceptsContentType))
w.WriteHeader(error.HTTPStatusCode)
w.Write(encodeErrorResponse(errorResponse, acceptsContentType))
// unable to write headers, we've already printed data. Just close the connection.
return
}
case false:
@ -69,11 +65,7 @@ func (server *minioAPI) getObjectHandler(w http.ResponseWriter, req *http.Reques
_, err := server.driver.GetPartialObject(w, bucket, object, httpRange.start, httpRange.length)
if err != nil {
log.Error.Println(err)
error := getErrorCode(InternalError)
errorResponse := getErrorResponse(error, "/"+bucket+"/"+object)
setCommonHeaders(w, getContentTypeString(acceptsContentType))
w.WriteHeader(error.HTTPStatusCode)
w.Write(encodeErrorResponse(errorResponse, acceptsContentType))
// unable to write headers, we've already printed data. Just close the connection.
return
}
@ -137,7 +129,7 @@ func (server *minioAPI) headObjectHandler(w http.ResponseWriter, req *http.Reque
metadata, err := server.driver.GetObjectMetadata(bucket, object, "")
switch err := err.(type) {
case nil:
writeObjectHeaders(w, metadata)
setObjectHeaders(w, metadata)
case drivers.ObjectNotFound:
{
error := getErrorCode(NoSuchKey)

View File

@ -58,7 +58,7 @@ func encodeErrorResponse(response interface{}, acceptsType contentType) []byte {
}
// Write object header
func writeObjectHeaders(w http.ResponseWriter, metadata drivers.ObjectMetadata) {
func setObjectHeaders(w http.ResponseWriter, metadata drivers.ObjectMetadata) {
lastModified := metadata.Created.Format(time.RFC1123)
// common headers
setCommonHeaders(w, metadata.ContentType)