]> Sergey Matveev's repositories - godlighty.git/blob - rc/static.go
89142a8ead44e289a177b53a89c046b3e929c529
[godlighty.git] / rc / static.go
1 /*
2 godlighty -- highly-customizable HTTP, HTTP/2, HTTPS server
3 Copyright (C) 2021 Sergey Matveev <stargrave@stargrave.org>
4
5 This program is free software: you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation, version 3 of the License.
8
9 This program is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12 GNU General Public License for more details.
13
14 You should have received a copy of the GNU General Public License
15 along with this program.  If not, see <http://www.gnu.org/licenses/>.
16 */
17
18 package rc
19
20 import (
21         "path"
22
23         "go.stargrave.org/godlighty"
24 )
25
26 func addStaticCfg(host, root string) {
27         if !path.IsAbs(root) {
28                 root = path.Join(WWW, root)
29         }
30         godlighty.Hosts[host] = &godlighty.HostCfg{
31                 Root: root,
32                 TLS:  newTLSCfg(host),
33         }
34 }
35
36 func addStaticListedDir(host, root string) {
37         addStaticCfg(host, root)
38         godlighty.Hosts[host].DirList = true
39         godlighty.Hosts[host].WebDAV = true
40 }
41
42 func addStaticWebDAVedDir(host, root string) {
43         addStaticCfg(host, root)
44         godlighty.Hosts[host].WebDAV = true
45 }
46
47 func init() {
48         addStaticCfg("www.stargrave.org", "stargrave.org")
49
50         addStaticListedDir("www.mds.cypherpunks.ru", "/storage/audiobook/mds")
51
52         addStaticWebDAVedDir("cpan.mirror.cypherpunks.ru", "/storage/cpan/cpan")
53         addStaticWebDAVedDir("ctan.mirror.cypherpunks.ru", "/storage/ctan/ctan")
54 }