// godlighty -- highly-customizable HTTP, HTTP/2, HTTPS server // Copyright (C) 2021-2024 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)