diff options
Diffstat (limited to 'pkg/server/serve.go')
| -rw-r--r-- | pkg/server/serve.go | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/pkg/server/serve.go b/pkg/server/serve.go new file mode 100644 index 0000000..9e7b722 --- /dev/null +++ b/pkg/server/serve.go @@ -0,0 +1,21 @@ +package server + +import ( + "net/http" + + "github.com/LMBishop/scrapbook/pkg/html" + "github.com/LMBishop/scrapbook/pkg/index" +) + +func ServeSite(siteIndex *index.SiteIndex) func(w http.ResponseWriter, r *http.Request) { + return func(w http.ResponseWriter, r *http.Request) { + site := siteIndex.GetSiteByHost(r.Host) + if site == nil { + w.WriteHeader(http.StatusNotFound) + html.NotFoundSitePage(r.Host) + return + } + + site.Handler.ServeHTTP(w, r) + } +} |
