выделил в cfg из app
parent
066a30ff7d
commit
cbce343e51
12
main.go
12
main.go
|
@ -16,12 +16,12 @@ func main() {
|
|||
var err error
|
||||
|
||||
// Инициализация приложения
|
||||
if app, err = models.AppInit("config.json"); err != nil {
|
||||
if app, err = models.AppInit(); err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
|
||||
// Добавление префикса в виде домена сервера к записям в лог
|
||||
log.SetPrefix(fmt.Sprintf("%s | ", app.Config.ServerDomain))
|
||||
log.SetPrefix(fmt.Sprintf("%s | ", models.Cfg.ServerDomain))
|
||||
|
||||
// Настройка маршрутов и запуск
|
||||
if setupRoutesAndRun(app) != nil {
|
||||
|
@ -34,12 +34,12 @@ func setupRoutesAndRun(a *models.App) error {
|
|||
router := setupRoutes(a)
|
||||
|
||||
// Запуск сервера
|
||||
if ok, err := tools.IsIPInUse(a.Config.ServerIP); err != nil {
|
||||
if ok, err := tools.IsIPInUse(models.Cfg.ServerIP); err != nil {
|
||||
return err
|
||||
} else if ok {
|
||||
runServer(a.Config.ServerIP, a.Config.ServerPort, router)
|
||||
runServer(models.Cfg.ServerIP, models.Cfg.ServerPort, router)
|
||||
} else {
|
||||
runServer(a.Config.LocalIP, a.Config.LocalPort, router)
|
||||
runServer(models.Cfg.LocalIP, models.Cfg.LocalPort, router)
|
||||
}
|
||||
|
||||
return nil
|
||||
|
@ -53,7 +53,7 @@ func setupRoutes(a *models.App) *http.ServeMux {
|
|||
m := controllers.MiddlewaresChain
|
||||
|
||||
// Обработка статических файлов
|
||||
router.Handle(a.Config.AssetsDir, m(controllers.StaticHandler()))
|
||||
router.Handle(models.Cfg.AssetsDir, m(controllers.StaticHandler()))
|
||||
|
||||
// Главные странички
|
||||
{
|
||||
|
|
|
@ -18,7 +18,7 @@ func MainPageHandler(a *models.App) http.HandlerFunc {
|
|||
// Количество запросов, обработанных сервером за 24ч
|
||||
if r.Method == "COUNT" {
|
||||
var count []byte
|
||||
if count, err = tools.GetJournalctlLogsCount("server", a.Config.ServerDomain, 24); err != nil {
|
||||
if count, err = tools.GetJournalctlLogsCount("server", models.Cfg.ServerDomain, 24); err != nil {
|
||||
log.Printf("%s", err.Error())
|
||||
}
|
||||
SendCount(w, count)
|
||||
|
|
|
@ -11,28 +11,21 @@ import (
|
|||
|
||||
// App хранит информацию о приложении
|
||||
type App struct {
|
||||
Config *Config // Конфиг
|
||||
Templates *template.Template // Шаблоны страниц
|
||||
Cache *Cache // Кэш (отрендеренные странички)
|
||||
Version int64 // Время запуска
|
||||
}
|
||||
|
||||
// Инициализирует приложение
|
||||
func AppInit(configPath string) (*App, error) {
|
||||
func AppInit() (*App, error) {
|
||||
|
||||
a := &App{
|
||||
Version: time.Now().Unix(),
|
||||
Config: ConfigInit(),
|
||||
Cache: CacheInit(),
|
||||
}
|
||||
|
||||
// Загрузка конфига
|
||||
if err := a.Config.Load(configPath); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
// Загрузка шаблонов
|
||||
if err := a.loadTemplates(a.Config.TemplatesDir, a.Config.TemplatesExt); err != nil {
|
||||
if err := a.loadTemplates(Cfg.TemplatesDir, Cfg.TemplatesExt); err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
|
||||
|
|
|
@ -2,6 +2,7 @@ package models
|
|||
|
||||
import (
|
||||
"encoding/json"
|
||||
"log"
|
||||
"os"
|
||||
)
|
||||
|
||||
|
@ -18,8 +19,14 @@ type Config struct {
|
|||
Port string
|
||||
}
|
||||
|
||||
func ConfigInit() *Config {
|
||||
return &Config{}
|
||||
var (
|
||||
Cfg = Config{}
|
||||
)
|
||||
|
||||
func init() {
|
||||
if err := Cfg.Load("config.json"); err != nil {
|
||||
log.Fatalf("%v", err)
|
||||
}
|
||||
}
|
||||
|
||||
func (c *Config) Load(configPath string) error {
|
||||
|
|
|
@ -6,6 +6,7 @@ import (
|
|||
"html/template"
|
||||
"io"
|
||||
"log"
|
||||
"main/mvc/models"
|
||||
"main/tools"
|
||||
"os"
|
||||
"path/filepath"
|
||||
|
@ -25,7 +26,7 @@ var (
|
|||
)
|
||||
|
||||
func init() {
|
||||
if err := LoadPosts("posts/"); err != nil {
|
||||
if err := LoadPosts(models.Cfg.PostsDir); err != nil {
|
||||
log.Fatalf("%v", err)
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue