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