Neale Pickett
·
2015-02-20
config.go
1package main
2
3import (
4 "io/ioutil"
5 "path"
6 "strings"
7)
8
9type Config struct {
10 BaseDir string
11}
12
13func readString(filename string) (string, error) {
14 octets, err := ioutil.ReadFile(filename)
15 if err != nil {
16 return "", err
17 }
18 return strings.TrimSpace(string(octets)), nil
19}
20
21
22func ReadConfig(cgiDir string) (*Config, error) {
23 cfgfn := path.Join(cgiDir, "spongy.cfg")
24 basePath, err := readString(cfgfn)
25 if err != nil {
26 return nil, err
27 }
28
29 return &Config{basePath}, nil
30}
31
32func (c *Config) Get(name string) (string, error) {
33 path := path.Join(c.BaseDir, name)
34 val, err := readString(path)
35 return val, err
36}
37