@@ -21,6 +21,7 @@ public class VaultOptions
21
21
/// <param name="omitVaultKeyName">Omit Vault Key Name in Configuration Keys.</param>
22
22
/// <param name="additionalCharactersForConfigurationPath">Additional characters for the Configuration path.</param>
23
23
/// <param name="namespace">Vault namespace.</param>
24
+ /// <param name="alwaysAddTrailingSlashToBasePath">Should a trailing slash be added to the base path. See AlwaysAddTrailingSlashToBasePath property for details </param>
24
25
public VaultOptions (
25
26
string vaultAddress ,
26
27
string ? vaultToken ,
@@ -30,7 +31,8 @@ public VaultOptions(
30
31
int reloadCheckIntervalSeconds = 300 ,
31
32
bool omitVaultKeyName = false ,
32
33
IEnumerable < char > ? additionalCharactersForConfigurationPath = null ,
33
- string ? @namespace = null )
34
+ string ? @namespace = null ,
35
+ bool alwaysAddTrailingSlashToBasePath = true )
34
36
{
35
37
this . VaultAddress = vaultAddress ;
36
38
this . VaultToken = vaultToken ;
@@ -41,6 +43,7 @@ public VaultOptions(
41
43
this . OmitVaultKeyName = omitVaultKeyName ;
42
44
this . AdditionalCharactersForConfigurationPath = additionalCharactersForConfigurationPath ?? Array . Empty < char > ( ) ;
43
45
this . Namespace = @namespace ;
46
+ this . AlwaysAddTrailingSlashToBasePath = alwaysAddTrailingSlashToBasePath ;
44
47
}
45
48
46
49
/// <summary>
@@ -53,14 +56,16 @@ public VaultOptions(
53
56
/// <param name="omitVaultKeyName">Omit Vault Key Name in Configuration Keys.</param>
54
57
/// <param name="additionalCharactersForConfigurationPath">Additional characters for the Configuration path.</param>
55
58
/// <param name="namespace">Vault namespace.</param>
59
+ /// <param name="alwaysAddTrailingSlashToBasePath">Should a trailing slash be added to the base path. See AlwaysAddTrailingSlashToBasePath property for details </param>
56
60
public VaultOptions (
57
61
string vaultAddress ,
58
62
IAuthMethodInfo authMethod ,
59
63
bool reloadOnChange = false ,
60
64
int reloadCheckIntervalSeconds = 300 ,
61
65
bool omitVaultKeyName = false ,
62
66
IEnumerable < char > ? additionalCharactersForConfigurationPath = null ,
63
- string ? @namespace = null )
67
+ string ? @namespace = null ,
68
+ bool alwaysAddTrailingSlashToBasePath = true )
64
69
{
65
70
this . VaultAddress = vaultAddress ;
66
71
this . AuthMethod = authMethod ;
@@ -69,6 +74,7 @@ public VaultOptions(
69
74
this . OmitVaultKeyName = omitVaultKeyName ;
70
75
this . AdditionalCharactersForConfigurationPath = additionalCharactersForConfigurationPath ?? Array . Empty < char > ( ) ;
71
76
this . Namespace = @namespace ;
77
+ this . AlwaysAddTrailingSlashToBasePath = alwaysAddTrailingSlashToBasePath ;
72
78
}
73
79
74
80
/// <summary>
@@ -121,5 +127,12 @@ public VaultOptions(
121
127
/// Gets Vault namespace.
122
128
/// </summary>
123
129
public string ? Namespace { get ; }
130
+
131
+ /// <summary>
132
+ /// Gets the value indicating whether to always add a trailing slash to the base path.
133
+ /// If it is true, the base path is considered to be a "folder" with nested keys, otherwise the base path is considered to be a key itself.
134
+ /// It is true by default. Set to false if you don't have permissions to list keys in the base path.
135
+ /// </summary>
136
+ public bool AlwaysAddTrailingSlashToBasePath { get ; }
124
137
}
125
138
}
0 commit comments