Skip to content
This repository was archived by the owner on Nov 1, 2023. It is now read-only.

Commit db1e489

Browse files
authored
Handle the case where the secret is not serialized as json (#3223)
1 parent a941020 commit db1e489

File tree

2 files changed

+9
-3
lines changed

2 files changed

+9
-3
lines changed

src/ApiService/ApiService/onefuzzlib/Secrets.cs

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ public async Task<SecretData<T>> StoreSecretData<T>(SecretData<T> secretData) {
1515
return new SecretData<T>(new SecretAddress<T>(address));
1616
}
1717

18-
public Task<T?> GetSecretValue<T>(ISecret<T> data);
18+
public Task<T?> GetSecretValue<T>(ISecret<T> data) where T : class;
1919

2020
Task<Uri> StoreSecret(ISecret secret);
2121

@@ -52,14 +52,20 @@ public async Task<Uri> StoreSecret(ISecret secret) {
5252
};
5353
}
5454

55-
public async Task<T?> GetSecretValue<T>(ISecret<T> data) {
55+
public async Task<T?> GetSecretValue<T>(ISecret<T> data) where T : class {
5656
switch ((data)) {
5757
case SecretAddress<T> secretAddress:
5858
var secretValue = (await GetSecret(secretAddress.Url))?.Value;
5959
if (secretValue is null)
6060
return default;
61+
62+
if (typeof(T) == typeof(string)) {
63+
return secretValue as T;
64+
}
65+
6166
return JsonSerializer.Deserialize<T>(secretValue, EntityConverter.GetJsonSerializerOptions());
6267

68+
6369
case SecretValue<T> sValue:
6470
return sValue.Value;
6571

src/ApiService/Tests/OrmTest.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ public sealed class TestSecretOperations : ISecretsOperations {
2020

2121
private readonly ConcurrentDictionary<Guid, string> _secrets = new();
2222

23-
public Task<T?> GetSecretValue<T>(ISecret<T> data) {
23+
public Task<T?> GetSecretValue<T>(ISecret<T> data) where T : class {
2424
switch (data) {
2525
case SecretAddress<T> secretAddress:
2626
var key = Guid.Parse(secretAddress.Url.Authority);

0 commit comments

Comments
 (0)