func parseHandlerSettingsFile()

in pkg/settings/settings.go [105:126]


func parseHandlerSettingsFile(el logging.ILogger, path string) (h handlerSettings, _ error) {
	b, err := ioutil.ReadFile(path)
	if err != nil {
		el.Error("parseHandlerSettingsFile failed. Error reading %s: %v", path, err)
		return h, extensionerrors.ErrInvalidSettingsFile
	}
	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 {
		el.Error("parseHandlerSettingsFile failed. error parsing json: %v", err)
		return h, extensionerrors.ErrInvalidSettingsFile
	}
	if len(f.RuntimeSettings) != 1 {
		el.Error("parseHandlerSettingsFile failed. wrong runtimeSettings count. expected:1, got:%d", len(f.RuntimeSettings))
		return h, extensionerrors.ErrInvalidSettingsRuntimeSettingsCount
	}

	return f.RuntimeSettings[0].HandlerSettings, nil
}