summaryrefslogtreecommitdiff
path: root/config/config.go
diff options
context:
space:
mode:
authorhorus_arch2015-04-19 22:09:52 +0200
committerhorus_arch2015-04-19 22:09:52 +0200
commit01e9a34952bd6ddd383680b0ca2312e476ad07a6 (patch)
tree00902575e5c271cc5d35ea65aa8795b8caeb97bc /config/config.go
downloadmandible-01e9a34952bd6ddd383680b0ca2312e476ad07a6.tar.gz
Initial commit.
Diffstat (limited to 'config/config.go')
-rw-r--r--config/config.go34
1 files changed, 34 insertions, 0 deletions
diff --git a/config/config.go b/config/config.go
new file mode 100644
index 0000000..b1022e2
--- /dev/null
+++ b/config/config.go
@@ -0,0 +1,34 @@
+package config
+
+import (
+ "encoding/json"
+ "fmt"
+ "os"
+)
+
+type Configuration struct {
+ MaxFileSize int64
+ HashLength int
+ UserAgent string
+ Stores []map[string]string
+ Port int
+}
+
+func NewConfiguration(path string) *Configuration {
+ file, err := os.Open(path)
+
+ if err != nil {
+ fmt.Printf("Error opening config file!")
+ os.Exit(-1)
+ }
+
+ decoder := json.NewDecoder(file)
+ configuration := &Configuration{}
+ err = decoder.Decode(configuration)
+
+ if err != nil {
+ fmt.Println("Error loading config file: ", err)
+ }
+
+ return configuration
+}