This repository has been archived on 2023-07-11. You can view files and clone it, but cannot push or open issues or pull requests.
nginx-ldap-auth/main/parser.go
Tiago Augusto Pimenta bdce35bc55 Refactor
2018-10-09 20:59:52 -03:00

46 lines
826 B
Go

package main
import (
"flag"
"fmt"
"io/ioutil"
"time"
yaml "gopkg.in/yaml.v2"
)
func parseConfig() (string, *Config, error) {
file := flag.String("config", "/etc/nginx-ldap-auth/config.yaml", "Configuration file")
flag.Parse()
data, err := ioutil.ReadFile(*file)
if err != nil {
return "", nil, fmt.Errorf("Error on read file \"%s\": %v", *file, err)
}
config := Config{
Web: "0.0.0.0:5555",
Path: "/",
Message: "LDAP Login",
User: UserConfig{
Filter: "(cn={0})",
},
Group: GroupConfig{
Filter: "(member={0})",
GroupAttr: "cn",
},
Timeout: TimeoutConfig{
Success: 24 * time.Hour,
Wrong: 5 * time.Minute,
},
}
err = yaml.Unmarshal(data, &config)
if err != nil {
return "", nil, fmt.Errorf("Error on parse config: %v", err)
}
return *file, &config, nil
}