From 5c515d31382cd55246bad81303c11aa75a374673 Mon Sep 17 00:00:00 2001 From: "Frederick F. Kautz IV" Date: Thu, 23 Apr 2015 12:43:27 -0700 Subject: [PATCH] Simplifying server config handling --- main.go | 37 +++++++---------------------- pkg/server/httpserver/httpserver.go | 1 + pkg/server/server.go | 8 ------- 3 files changed, 10 insertions(+), 36 deletions(-) diff --git a/main.go b/main.go index 5d63510cc..844a99783 100644 --- a/main.go +++ b/main.go @@ -34,7 +34,6 @@ import ( "github.com/minio-io/minio/pkg/api" "github.com/minio-io/minio/pkg/api/web" "github.com/minio-io/minio/pkg/iodine" - "github.com/minio-io/minio/pkg/server" "github.com/minio-io/minio/pkg/server/httpserver" "github.com/minio-io/minio/pkg/storage/drivers/donut" "github.com/minio-io/minio/pkg/storage/drivers/memory" @@ -101,56 +100,38 @@ EXAMPLES: } type memoryFactory struct { - server.Config + httpserver.Config maxMemory uint64 } func (f memoryFactory) getStartServerFunc() startServerFunc { return func() (chan<- string, <-chan error) { - httpConfig := httpserver.Config{} - httpConfig.Address = f.Address - httpConfig.TLS = f.TLS - httpConfig.CertFile = f.CertFile - httpConfig.KeyFile = f.KeyFile - httpConfig.Websocket = false _, _, driver := memory.Start(f.maxMemory) - ctrl, status, _ := httpserver.Start(api.HTTPHandler(f.Domain, driver), httpConfig) + ctrl, status, _ := httpserver.Start(api.HTTPHandler(f.Domain, driver), f.Config) return ctrl, status } } type webFactory struct { - server.Config + httpserver.Config } func (f webFactory) getStartServerFunc() startServerFunc { return func() (chan<- string, <-chan error) { - httpConfig := httpserver.Config{} - httpConfig.Address = f.Address - httpConfig.TLS = f.TLS - httpConfig.CertFile = f.CertFile - httpConfig.KeyFile = f.KeyFile - httpConfig.Websocket = false - ctrl, status, _ := httpserver.Start(web.HTTPHandler(), httpConfig) + ctrl, status, _ := httpserver.Start(web.HTTPHandler(), f.Config) return ctrl, status } } type donutFactory struct { - server.Config + httpserver.Config paths []string } func (f donutFactory) getStartServerFunc() startServerFunc { return func() (chan<- string, <-chan error) { - httpConfig := httpserver.Config{} - httpConfig.Address = f.Address - httpConfig.TLS = f.TLS - httpConfig.CertFile = f.CertFile - httpConfig.KeyFile = f.KeyFile - httpConfig.Websocket = false _, _, driver := donut.Start(f.paths) - ctrl, status, _ := httpserver.Start(api.HTTPHandler(f.Domain, driver), httpConfig) + ctrl, status, _ := httpserver.Start(api.HTTPHandler(f.Domain, driver), f.Config) return ctrl, status } } @@ -248,14 +229,14 @@ func runDonut(c *cli.Context) { startMinio(servers) } -func getAPIServerConfig(c *cli.Context) server.Config { +func getAPIServerConfig(c *cli.Context) httpserver.Config { certFile := c.String("cert") keyFile := c.String("key") if (certFile != "" && keyFile == "") || (certFile == "" && keyFile != "") { log.Fatalln("Both certificate and key must be provided to enable https") } tls := (certFile != "" && keyFile != "") - return server.Config{ + return httpserver.Config{ Domain: c.GlobalString("domain"), Address: c.GlobalString("api-address"), TLS: tls, @@ -265,7 +246,7 @@ func getAPIServerConfig(c *cli.Context) server.Config { } func getWebServerConfigFunc(c *cli.Context) startServerFunc { - config := server.Config{ + config := httpserver.Config{ Domain: c.GlobalString("domain"), Address: c.GlobalString("web-address"), TLS: false, diff --git a/pkg/server/httpserver/httpserver.go b/pkg/server/httpserver/httpserver.go index aa0bdad6f..8abe9de49 100644 --- a/pkg/server/httpserver/httpserver.go +++ b/pkg/server/httpserver/httpserver.go @@ -29,6 +29,7 @@ type Config struct { CertFile string KeyFile string Websocket bool // TODO + Domain string } // Server - http server related diff --git a/pkg/server/server.go b/pkg/server/server.go index 5680aff67..f20058fe4 100644 --- a/pkg/server/server.go +++ b/pkg/server/server.go @@ -17,11 +17,3 @@ package server // Config - http server parameters -type Config struct { - Domain string - Address string - TLS bool - CertFile string - KeyFile string - APIType interface{} -}