/* godlighty -- highly-customizable HTTP, HTTP/2, HTTPS server Copyright (C) 2021-2023 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 godlighty import ( "net/http" ) type TLSCfg struct { Cert string Key string CACert string // Require client authentication ClientCAs []string } type AuthCfg struct { Passwords string Realm string } type Hook func(http.ResponseWriter, *http.Request) bool type HostCfg struct { Root string ECDSATLS *TLSCfg EdDSATLS *TLSCfg GOSTTLS *TLSCfg DirList bool WebDAV bool Hooks []Hook Auth *AuthCfg Indices []string Readmes []string MIMEs map[string]string } var Hosts = make(map[string]*HostCfg)