From 9817548bf0e07b07d14283f784fe17be1c006667 Mon Sep 17 00:00:00 2001 From: Maxim Lebedev Date: Wed, 8 Nov 2023 07:07:47 +0600 Subject: [PATCH] :building_construction: Use page module in main server --- main.go | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/main.go b/main.go index 6edf995..8e28f5e 100644 --- a/main.go +++ b/main.go @@ -25,6 +25,8 @@ import ( "source.toby3d.me/toby3d/home/internal/common" "source.toby3d.me/toby3d/home/internal/domain" + pagefsrepo "source.toby3d.me/toby3d/home/internal/page/repository/fs" + pageucase "source.toby3d.me/toby3d/home/internal/page/usecase" sitefsrepo "source.toby3d.me/toby3d/home/internal/site/repository/fs" siteucase "source.toby3d.me/toby3d/home/internal/site/usecase" "source.toby3d.me/toby3d/home/web/template" @@ -70,9 +72,14 @@ func main() { ctx := context.Background() matcher := language.NewMatcher(message.DefaultCatalog.Languages()) - sites := sitefsrepo.NewFileSystemSiteRepository(os.DirFS(config.ContentDir)) + contentDir := os.DirFS(config.ContentDir) + + sites := sitefsrepo.NewFileSystemSiteRepository(contentDir) siter := siteucase.NewSiteUseCase(sites) + pages := pagefsrepo.NewFileSystemPageRepository(contentDir) + pager := pageucase.NewPageUseCase(pages) + server := &http.Server{ Addr: config.AddrPort().String(), Handler: http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { @@ -90,13 +97,15 @@ func main() { return } + page, err := pager.Do(r.Context(), lang, r.URL.Path) + if err != nil { + http.Error(w, err.Error(), http.StatusInternalServerError) + + return + } + w.Header().Set(common.HeaderContentType, common.MIMETextHTMLCharsetUTF8) - template.WriteTemplate(w, template.NewPage( - template.NewBaseOf(*site), - language.English, - []byte(`hello, world!`), - `toby3d`, - )) + template.WriteTemplate(w, template.NewPage(template.NewBaseOf(site), page)) }), ErrorLog: logger, BaseContext: func(ln net.Listener) context.Context { return ctx },