config

package
v0.1.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 30, 2021 License: AGPL-3.0 Imports: 9 Imported by: 0

Documentation

Overview

Package config provides configured values for all parts of the application.

Configuration values are read from the file "config.json". This file is search in the directory of the running program, and recursively in its parent directories.

Index

Constants

This section is empty.

Variables

View Source
var BaseDir string

BaseDir is the path in which the configuration file has been found.

Functions

func FindFileInParent

func FindFileInParent(filename string, maxdepth int) (path string, err error)

FindFileInParent search a file with the given filename. The search starts in the current directory then explores recursively the parent directories. The search fails after maxdepth changes of directory, i.e., when maxdepth is zero the file is search only in the current directory.

func ReadConfigFile

func ReadConfigFile(logger_ slog.Leveled, configFileName_ string, maxDepth_ int) bool

ReadConfigFile reads and stores the given configuration file. This method must be called once before Value is called. When called multiple times, only the values from the last read configuration file are available.

func Value

func Value(key string, ret interface{}) (err error)

Value retrieves the value associated with the given key. Same rules than with json.Unmarshal applies to ret.

func ValueOr

func ValueOr(key string, ret interface{}, byDefault interface{}) (err error)

ValueOr is similar to Value except that if the key is not found then byDefault is stored as the new value for that key, and returned. Same rules than with json.Marshal applies to byDefault.

Types

type KeyNotFound

type KeyNotFound string

Error returned when the key is not found in the configuration.

func (KeyNotFound) Error

func (self KeyNotFound) Error() string

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL