in Runtime/Core/SettingsManagement/SettingsStore.cs [72:113]
public GetSettingResponse GetSetting(GetSettingRequest request)
{
if (string.IsNullOrEmpty(request.Key))
{
return Response.Fail(new GetSettingResponse
{
ErrorCode = ErrorCode.InvalidParameters
});
}
if (_fileWrapper.FileExists(_settingsFilePath))
{
var input = new StringReader(_fileWrapper.ReadAllText(_settingsFilePath));
_yamlStreamWrapper.Load(input);
YamlMappingNode rootMappingNode = (_yamlStreamWrapper.GetDocuments().Count > 0) ? (YamlMappingNode)_yamlStreamWrapper.GetDocuments()[0].RootNode : default;
if (rootMappingNode == null)
{
return Response.Fail(new GetSettingResponse()
{
ErrorCode = ErrorCode.InvalidSettingsFile
});
}
return rootMappingNode.Children.ContainsKey(request.Key)
? Response.Ok(new GetSettingResponse()
{
Value = rootMappingNode.Children.First(x => x.Key.ToString() == request.Key).Value.ToString()
})
: Response.Fail(new GetSettingResponse()
{
ErrorCode = ErrorCode.NoSettingsKeyFound
});
}
return Response.Fail(new GetSettingResponse
{
ErrorCode = ErrorCode.NoSettingsFileFound
});
}