Prevent gorilla mux from normalizing path (Fixes #3256) (#3268)

Also fix test to not use a bucket name with a leading slash - this
causes the bucket name to become empty and go to an unintended API
call (listbuckets).
This commit is contained in:
Aditya Manthramurthy 2016-11-16 16:23:22 -08:00 committed by Harshavardhana
parent 61d67a061c
commit 2f43709f85
2 changed files with 4 additions and 3 deletions

View File

@ -77,8 +77,9 @@ func newObjectLayer(storageDisks []StorageAPI) (ObjectLayer, error) {
// configureServer handler returns final handler for the http server.
func configureServerHandler(srvCmdConfig serverCmdConfig) (http.Handler, error) {
// Initialize router.
mux := router.NewRouter()
// Initialize router. `SkipClean(true)` stops gorilla/mux from
// normalizing URL path minio/minio#3256
mux := router.NewRouter().SkipClean(true)
// Initialize distributed NS lock.
if globalIsDistXL {

View File

@ -1971,7 +1971,7 @@ func (s *TestSuiteCommon) TestGetObjectErrors(c *C) {
verifyError(c, response, "NoSuchKey", "The specified key does not exist.", http.StatusNotFound)
// request to download an object, but an invalid bucket name is set.
request, err = newTestSignedRequest("GET", getGetObjectURL(s.endPoint, "/getobjecterrors-.", objectName),
request, err = newTestSignedRequest("GET", getGetObjectURL(s.endPoint, "getobjecterrors-.", objectName),
0, nil, s.accessKey, s.secretKey, s.signer)
c.Assert(err, IsNil)