/* godlighty -- highly-customizable HTTP, HTTP/2, HTTPS server Copyright (C) 2021 Sergey Matveev This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 3 of the License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ package rc import ( "net/http" "net/http/cgi" "path" "strings" "go.stargrave.org/godlighty" ) func init() { host := "blog.stargrave.org" godlighty.Hosts[host] = &godlighty.HostCfg{ Root: path.Join(WWW, host), TLS: newTLSCfg(host), Hooks: []godlighty.Hook{ func(w http.ResponseWriter, r *http.Request) bool { var t string if strings.HasPrefix(r.URL.Path, "/russian") { t = "russian" } else if strings.HasPrefix(r.URL.Path, "/english") { t = "english" } else if strings.HasPrefix(r.URL.Path, "/example") { t = "example" } if t == "" { return false } r.URL.Path = strings.TrimPrefix(r.URL.Path, "/"+t) runCGIAndLog(host, w, r, &cgi.Handler{ Path: "/home/sgblog/sgblog", Dir: "/var/empty", Env: []string{"SGBLOG_CFG=/home/sgblog/" + t + ".hjson"}, }) return true }, }, } }