func parseHandlerSettingsFile()

in internal/settings/settings_linux.go [91:108]


func parseHandlerSettingsFile(path string) (h handlerSettings, _ error) {
	b, err := ioutil.ReadFile(path)
	if err != nil {
		return h, errorhelper.AddStackToError(fmt.Errorf("error reading setting's file %s: %v", path, err))
	}
	if len(b) == 0 { // if no config is specified, we get an empty file
		return h, nil
	}

	var f handlerSettingsFile
	if err := json.Unmarshal(b, &f); err != nil {
		return h, errorhelper.AddStackToError(fmt.Errorf("error parsing json: %v", err))
	}
	if len(f.RuntimeSettings) != 1 {
		return h, errorhelper.AddStackToError(fmt.Errorf("wrong runtimeSettings count. expected:1, got:%d", len(f.RuntimeSettings)))
	}
	return f.RuntimeSettings[0].HandlerSettings, nil
}