spongy/spongy.cgi/config.go

38 lines
619 B
Go

package main
import (
"io/ioutil"
"path"
"strings"
)
type Config struct {
BaseDir string
}
func readString(filename string) (string, error) {
octets, err := ioutil.ReadFile(filename)
if err != nil {
return "", err
}
return strings.TrimSpace(string(octets)), nil
}
func ReadConfig(cgiDir string) (*Config, error) {
cfgfn := path.Join(cgiDir, "spongy.cfg")
basePath, err := readString(cfgfn)
if err != nil {
return nil, err
}
return &Config{basePath}, nil
}
func (c *Config) Get(name string) (string, error) {
path := path.Join(c.BaseDir, name)
val, err := readString(path)
return val, err
}