Add domain and subdomain support for MinioAPI

This change brings in domain and subdomain support

   - ./minio --domain "yourminiodomain.com"

This change brings in a much needed feature by keeping
bucketnames as part of your 'DNS' name.

All your existing applications can be migrated off from s3 to
Minio without little to no modifications.

NOTE: Setting up DNS for your `buckets` is out of scope of this feature
This commit is contained in:
Harshavardhana
2015-02-23 02:11:27 -08:00
parent 2d3b00b831
commit 51e80eaa6d
13 changed files with 236 additions and 148 deletions

View File

@@ -40,7 +40,7 @@ var _ = Suite(&MySuite{})
func (s *MySuite) TestNonExistantObject(c *C) {
_, _, storage := inmemory.Start()
httpHandler := HttpHandler(storage)
httpHandler := HttpHandler("", storage)
testServer := httptest.NewServer(httpHandler)
defer testServer.Close()
@@ -52,7 +52,7 @@ func (s *MySuite) TestNonExistantObject(c *C) {
func (s *MySuite) TestEmptyObject(c *C) {
_, _, storage := inmemory.Start()
httpHandler := HttpHandler(storage)
httpHandler := HttpHandler("", storage)
testServer := httptest.NewServer(httpHandler)
defer testServer.Close()
@@ -77,7 +77,7 @@ func (s *MySuite) TestEmptyObject(c *C) {
func (s *MySuite) TestObject(c *C) {
_, _, storage := inmemory.Start()
httpHandler := HttpHandler(storage)
httpHandler := HttpHandler("", storage)
testServer := httptest.NewServer(httpHandler)
defer testServer.Close()
@@ -100,7 +100,7 @@ func (s *MySuite) TestObject(c *C) {
func (s *MySuite) TestMultipleObjects(c *C) {
_, _, storage := inmemory.Start()
httpHandler := HttpHandler(storage)
httpHandler := HttpHandler("", storage)
testServer := httptest.NewServer(httpHandler)
defer testServer.Close()
@@ -180,7 +180,7 @@ func (s *MySuite) TestMultipleObjects(c *C) {
func (s *MySuite) TestNotImplemented(c *C) {
_, _, storage := inmemory.Start()
httpHandler := HttpHandler(storage)
httpHandler := HttpHandler("", storage)
testServer := httptest.NewServer(httpHandler)
defer testServer.Close()
@@ -191,7 +191,7 @@ func (s *MySuite) TestNotImplemented(c *C) {
func (s *MySuite) TestHeader(c *C) {
_, _, storage := inmemory.Start()
httpHandler := HttpHandler(storage)
httpHandler := HttpHandler("", storage)
testServer := httptest.NewServer(httpHandler)
defer testServer.Close()
@@ -214,7 +214,7 @@ func (s *MySuite) TestHeader(c *C) {
func (s *MySuite) TestPutBucket(c *C) {
_, _, storage := inmemory.Start()
httpHandler := HttpHandler(storage)
httpHandler := HttpHandler("", storage)
testServer := httptest.NewServer(httpHandler)
defer testServer.Close()
@@ -239,7 +239,7 @@ func (s *MySuite) TestPutBucket(c *C) {
func (s *MySuite) TestPutObject(c *C) {
_, _, storage := inmemory.Start()
httpHandler := HttpHandler(storage)
httpHandler := HttpHandler("", storage)
testServer := httptest.NewServer(httpHandler)
defer testServer.Close()
@@ -289,7 +289,7 @@ func (s *MySuite) TestPutObject(c *C) {
func (s *MySuite) TestListBuckets(c *C) {
_, _, storage := inmemory.Start()
httpHandler := HttpHandler(storage)
httpHandler := HttpHandler("", storage)
testServer := httptest.NewServer(httpHandler)
defer testServer.Close()
@@ -368,7 +368,7 @@ func verifyHeaders(c *C, header http.Header, date time.Time, size int, contentTy
func (s *MySuite) TestXMLNameNotInBucketListJson(c *C) {
_, _, storage := inmemory.Start()
httpHandler := HttpHandler(storage)
httpHandler := HttpHandler("", storage)
testServer := httptest.NewServer(httpHandler)
defer testServer.Close()
@@ -393,7 +393,7 @@ func (s *MySuite) TestXMLNameNotInBucketListJson(c *C) {
func (s *MySuite) TestXMLNameNotInObjectListJson(c *C) {
_, _, storage := inmemory.Start()
httpHandler := HttpHandler(storage)
httpHandler := HttpHandler("", storage)
testServer := httptest.NewServer(httpHandler)
defer testServer.Close()
@@ -418,7 +418,7 @@ func (s *MySuite) TestXMLNameNotInObjectListJson(c *C) {
func (s *MySuite) TestContentTypePersists(c *C) {
_, _, storage := inmemory.Start()
httpHandler := HttpHandler(storage)
httpHandler := HttpHandler("", storage)
testServer := httptest.NewServer(httpHandler)
defer testServer.Close()