spongy

A Unixy IRC client
git clone https://git.woozle.org/neale/spongy.git

spongy / spongy.cgi
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