Avoid shadowing variables and enable checks to avoid them during build

This commit is contained in:
Harshavardhana
2015-09-09 15:11:37 -07:00
parent 2c877acd48
commit 1e2c010174
5 changed files with 30 additions and 25 deletions

View File

@@ -62,18 +62,18 @@ func setCommonHeaders(w http.ResponseWriter, acceptsType string, contentLength i
// Write error response headers
func encodeErrorResponse(response interface{}, acceptsType contentType) []byte {
var bytesBuffer bytes.Buffer
var encoder encoder
var e encoder
// write common headers
switch acceptsType {
case xmlContentType:
encoder = xml.NewEncoder(&bytesBuffer)
e = xml.NewEncoder(&bytesBuffer)
case jsonContentType:
encoder = json.NewEncoder(&bytesBuffer)
e = json.NewEncoder(&bytesBuffer)
// by default even if unknown Accept header received handle it by sending XML contenttype response
default:
encoder = xml.NewEncoder(&bytesBuffer)
e = xml.NewEncoder(&bytesBuffer)
}
encoder.Encode(response)
e.Encode(response)
return bytesBuffer.Bytes()
}
@@ -105,14 +105,14 @@ func setObjectHeaders(w http.ResponseWriter, metadata donut.ObjectMetadata, cont
}
func encodeSuccessResponse(response interface{}, acceptsType contentType) []byte {
var encoder encoder
var e encoder
var bytesBuffer bytes.Buffer
switch acceptsType {
case xmlContentType:
encoder = xml.NewEncoder(&bytesBuffer)
e = xml.NewEncoder(&bytesBuffer)
case jsonContentType:
encoder = json.NewEncoder(&bytesBuffer)
e = json.NewEncoder(&bytesBuffer)
}
encoder.Encode(response)
e.Encode(response)
return bytesBuffer.Bytes()
}

View File

@@ -67,13 +67,14 @@ func (api Minio) GetObjectHandler(w http.ResponseWriter, req *http.Request) {
metadata, err := api.Donut.GetObjectMetadata(bucket, object, signature)
if err == nil {
httpRange, err := getRequestedRange(req.Header.Get("Range"), metadata.Size)
var hrange *httpRange
hrange, err = getRequestedRange(req.Header.Get("Range"), metadata.Size)
if err != nil {
writeErrorResponse(w, req, InvalidRange, acceptsContentType, req.URL.Path)
return
}
setObjectHeaders(w, metadata, httpRange)
if _, err := api.Donut.GetObject(w, bucket, object, httpRange.start, httpRange.length); err != nil {
setObjectHeaders(w, metadata, hrange)
if _, err = api.Donut.GetObject(w, bucket, object, hrange.start, hrange.length); err != nil {
// unable to write headers, we've already printed data. Just close the connection.
log.Error.Println(err.Trace())
return