diff options
Diffstat (limited to 'pkg/server')
| -rw-r--r-- | pkg/server/handle.go | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/pkg/server/handle.go b/pkg/server/handle.go new file mode 100644 index 0000000..afe65ce --- /dev/null +++ b/pkg/server/handle.go @@ -0,0 +1,21 @@ +package server + +import ( + "fmt" + "net/http" + + "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) + fmt.Fprintf(w, "unknown host %s", r.Host) + return + } + + site.Handler.ServeHTTP(w, r) + } +} |
