summaryrefslogtreecommitdiff
path: root/config.go
diff options
context:
space:
mode:
authorKatolaZ <katolaz@freaknet.org>2017-07-03 10:40:48 +0100
committerKatolaZ <katolaz@freaknet.org>2017-07-03 10:40:48 +0100
commitcd95aa3dc71bec3d15541424f328b6f3735432f1 (patch)
treed3235f3fc30809b2cb9a31f6e64c88fc817af184 /config.go
parente29d79e5f9785d039175da43704d02907b54ab47 (diff)
config options reorganised. More robust config parser.
Diffstat (limited to 'config.go')
-rw-r--r--config.go29
1 files changed, 16 insertions, 13 deletions
diff --git a/config.go b/config.go
index afbaaf0..ad5b4cb 100644
--- a/config.go
+++ b/config.go
@@ -12,8 +12,9 @@ import (
type Config struct {
- host string
- port string
+ server_name string
+ bind_addr string
+ bind_port string
paste_dir string
templ_dir string
log_fname string
@@ -25,8 +26,8 @@ func (c Config) String() string {
var s string
- s+= "Host: " + c.host + "\n"
- s+= "Port: " + c.port + "\n"
+ s+= "Server name: " + c.server_name + "\n"
+ s+= "Listening on: " + c.bind_addr + ":" + c.bind_port +"\n"
s+= "paste_dir: " + c.paste_dir + "\n"
s+= "templ_dir: " + c.templ_dir + "\n"
s+= "log_fname: " + c.log_fname + "\n"
@@ -54,20 +55,22 @@ func parse_config (fname string, c *Config) error {
// it's not a blank line
if matched, _ := regexp.MatchString("^#", s); matched != true {
// This is not a comment...
- if matched, _ := regexp.MatchString("^([a-z_]+)=.*", s); matched == true {
+ if matched, _ := regexp.MatchString("^([a-z_ ]+)=.*", s); matched == true {
// and contains an assignment
fields := strings.Split(s, "=")
- switch fields[0]{
- case "host":
- c.host = fields[1]
- case "port":
- c.port = fields[1]
+ switch strings.Trim(fields[0], " \t\""){
+ case "server_name":
+ c.server_name = strings.Trim(fields[1], " \t\"")
+ case "bind_addr":
+ c.bind_addr = strings.Trim(fields[1], " \t\"")
+ case "bind_port":
+ c.bind_port = strings.Trim(fields[1], " \t\"")
case "paste_dir":
- c.paste_dir = fields[1]
+ c.paste_dir = strings.Trim(fields[1], " \t\"")
case "templ_dir":
- c.templ_dir = fields[1]
+ c.templ_dir = strings.Trim(fields[1], " \t\"")
case "log_fname":
- c.log_fname = fields[1]
+ c.log_fname = strings.Trim(fields[1], " \t\"")
case "max_size":
if m_size, err := strconv.ParseUint(fields[1], 10, 16); err == nil {
c.max_size = uint16(m_size)