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).
master
Aditya Manthramurthy 8 years ago committed by Harshavardhana
parent 61d67a061c
commit 2f43709f85
  1. 5
      cmd/routers.go
  2. 2
      cmd/server_test.go

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

@ -1971,7 +1971,7 @@ func (s *TestSuiteCommon) TestGetObjectErrors(c *C) {
verifyError(c, response, "NoSuchKey", "The specified key does not exist.", http.StatusNotFound) 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 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) 0, nil, s.accessKey, s.secretKey, s.signer)
c.Assert(err, IsNil) c.Assert(err, IsNil)

Loading…
Cancel
Save