summaryrefslogtreecommitdiff
path: root/servers.go
diff options
context:
space:
mode:
authortjpcc <tjp@ctrl-c.club>2023-10-30 13:02:06 -0600
committertjpcc <tjp@ctrl-c.club>2023-10-30 13:02:37 -0600
commit0b57acaa2d31038f858c7ad6722db43409c1b0a1 (patch)
treebb421b984cbfc01a540da6e20251f1d642db829d /servers.go
parentdeb9bd75511c790d151449b020093f54515bb19f (diff)
Add support for spartan protocolspartan
spartan server definitions are very similar to gemini. The major changes are: * no "servertls" directives * no "autoatom" modifier (to be fixed) * no "git" directives (to be fixed) Fixes #15
Diffstat (limited to 'servers.go')
-rw-r--r--servers.go11
1 files changed, 11 insertions, 0 deletions
diff --git a/servers.go b/servers.go
index 285b69c..bad07a4 100644
--- a/servers.go
+++ b/servers.go
@@ -8,6 +8,7 @@ func buildServers(config *Configuration) ([]sr.Server, error) {
result := []sr.Server{}
geminis := []Server{}
+ spartans := []Server{}
for _, server := range config.Servers {
switch server.Type {
case "gopher":
@@ -24,6 +25,8 @@ func buildServers(config *Configuration) ([]sr.Server, error) {
result = append(result, srv)
case "gemini":
geminis = append(geminis, server)
+ case "spartan":
+ spartans = append(spartans, server)
}
}
@@ -35,5 +38,13 @@ func buildServers(config *Configuration) ([]sr.Server, error) {
result = append(result, srvs...)
}
+ if len(spartans) > 0 {
+ srvs, err := buildSpartanServers(spartans, config)
+ if err != nil {
+ return nil, err
+ }
+ result = append(result, srvs...)
+ }
+
return result, nil
}