diff --git a/app/config/settings.go b/app/config/settings.go index 9c61509..0f36b5e 100644 --- a/app/config/settings.go +++ b/app/config/settings.go @@ -37,6 +37,14 @@ func GetAppConfig() *AppConfig { } } +func GetForwardDomain() string { + return GetEnvOrPanic("FORWARD_DOMAIN") +} + +func GetCreateDomain() string { + return GetEnvOrPanic("CREATE_DOMAIN") +} + func GetPostgresConfig() *PostgresConfig { return &PostgresConfig{ USER: GetEnvOrPanic("POSTGRES_USER"), diff --git a/app/http_handlers/base.go b/app/http_handlers/base.go index bebc420..2731320 100644 --- a/app/http_handlers/base.go +++ b/app/http_handlers/base.go @@ -8,13 +8,11 @@ import ( ) type HandlerCreate struct { - DB db.DB - ForwardDomain string + DB db.DB } type HandlerForward struct { - DB db.DB - CreateDomain string + DB db.DB } func FaviconHandler(w http.ResponseWriter, r *http.Request) { diff --git a/app/http_handlers/url_create.go b/app/http_handlers/url_create.go index 1204828..8a79260 100644 --- a/app/http_handlers/url_create.go +++ b/app/http_handlers/url_create.go @@ -2,6 +2,7 @@ package httpHandlers import ( "github.com/aykhans/oh-my-url/app/utils" + "github.com/aykhans/oh-my-url/app/config" "html/template" "net/http" netUrl "net/url" @@ -54,7 +55,7 @@ func (hl *HandlerCreate) UrlCreate(w http.ResponseWriter, r *http.Request) { InternalServerError(w, err) return } - shortedURL, err := netUrl.JoinPath(hl.ForwardDomain, key) + shortedURL, err := netUrl.JoinPath(config.GetForwardDomain(), key) if err != nil { InternalServerError(w, err) return diff --git a/app/http_handlers/url_forward.go b/app/http_handlers/url_forward.go index d7f747a..83937b7 100644 --- a/app/http_handlers/url_forward.go +++ b/app/http_handlers/url_forward.go @@ -1,6 +1,7 @@ package httpHandlers import ( + "github.com/aykhans/oh-my-url/app/config" "net/http" "strings" ) @@ -12,7 +13,7 @@ func (hl *HandlerForward) UrlForward(w http.ResponseWriter, r *http.Request) { http.NotFound(w, r) return } else if segments[1] == "" { - http.Redirect(w, r, hl.CreateDomain, http.StatusMovedPermanently) + http.Redirect(w, r, config.GetCreateDomain(), http.StatusMovedPermanently) return } diff --git a/app/main.go b/app/main.go index 757eb6e..b50f838 100644 --- a/app/main.go +++ b/app/main.go @@ -12,13 +12,13 @@ func main() { config := config.GetAppConfig() dbCreate := db.GetDB() dbCreate.Init() - handlerCreate := httpHandlers.HandlerCreate{DB: dbCreate, ForwardDomain: config.FORWARD_DOMAIN} + handlerCreate := httpHandlers.HandlerCreate{DB: dbCreate} urlCreateMux := http.NewServeMux() urlCreateMux.HandleFunc("/", handlerCreate.UrlCreate) urlCreateMux.HandleFunc("/favicon.ico", httpHandlers.FaviconHandler) dbRead := db.GetDB() - handlerForward := httpHandlers.HandlerForward{DB: dbRead, CreateDomain: config.CREATE_DOMAIN} + handlerForward := httpHandlers.HandlerForward{DB: dbRead} urlReadMux := http.NewServeMux() urlReadMux.HandleFunc("/", handlerForward.UrlForward) urlReadMux.HandleFunc("/favicon.ico", httpHandlers.FaviconHandler)