Skip to content

Instantly share code, notes, and snippets.

View MarcBruins's full-sized avatar
🏠
Working from home

Marc Bruins MarcBruins

🏠
Working from home
View GitHub Profile
@MarcBruins
MarcBruins / returnnull.cs
Last active December 16, 2018 12:16
Returning null
public static IReadOnlyCollection<string> FirstPopulatedList(List<string> list1, List<string> list2)
{
if (HasElements(list1))
return list1;
if (HasElements(list2))
return list2;
return null;
}
@MarcBruins
MarcBruins / fixreturningnull.cs
Created December 16, 2018 12:17
Fixing returning null
public static IReadOnlyCollection<string> FirstPopulatedList(List<string> list1, List<string> list2)
{
if (HasElements(list1))
return list1;
if (HasElements(list2))
return list2;
return new List<string>();
}
@MarcBruins
MarcBruins / returnullfornull.cs
Created December 16, 2018 12:21
Returning null for null Uri
public static Uri EnsureTrailingSlash(Uri uri)
{
if (uri == null)
return null;
return new Uri(uri.ToString() + "/");
}
@MarcBruins
MarcBruins / returningforuri.cs
Created December 16, 2018 12:24
Return value for uri trailing slash
public static Uri EnsureTrailingSlash(Uri uri)
{
return new Uri(uri.ToString() + "/");
}
//OR
public static Uri EnsureTrailingSlash(Uri? uri)
{
if(uri == null)
@MarcBruins
MarcBruins / possiblederefenceofnull.cs
Last active January 4, 2019 17:41
Possible dereference of a null reference sample
public async Task<SearchCodeResult> Search(SearchCodeRequest search)
{
foreach (var repo in search.Repos)
{
//do search stuff
}
}
class SearchCodeRequest{
public IList<string>? Repos { get; set; }
@MarcBruins
MarcBruins / callingkeyvault.cs
Created January 7, 2019 18:13
calling the key vault
var azureServiceTokenProvider = new AzureServiceTokenProvider();
var keyVaultClient = new KeyVaultClient(new KeyVaultClient.AuthenticationCallback(azureServiceTokenProvider.KeyVaultTokenCallback));
var secret = await keyVaultClient.GetSecretAsync("https://YOURKEYVAULT.azure.net/secrets/sqlAzure--AdminPassword").ConfigureAwait(false);
@MarcBruins
MarcBruins / pwd.cs
Created January 7, 2019 18:14
db password
private string DbPassword = "MySuperSecretPassword";
@MarcBruins
MarcBruins / AzureServicesAuthConnectionString.txt
Created January 7, 2019 18:36
AzureServicesAuthConnectionString sample
AzureServicesAuthConnectionString RunAs=App;AppId=YOURAPPID;TenantId=YOURTENANTID;AppKey=OPTIONALAPPKEY
@MarcBruins
MarcBruins / keyvault-secrets-from-appconfig.cs
Last active January 9, 2019 20:30
Read keyvault secrets from app config json
//1. Create a file for both classes
//2. Replace the IKeyVaultAccessClient with a concrete keyvault implementation
//3. Add it to the builder: builder.Add(new ReplaceTokensConfigurationSource(configuration, logger, client));
//4. Add secrets placeholder to the appsetings.json with the following pattern __secret__
/// <summary>
/// A JSON configuration source that replaces values from JSON that are tokenized with a value from Azure Key Vault,
/// using the tokenized value as lookup key.
/// </summary>
public sealed class ReplaceTokensConfigurationProvider : ConfigurationProvider, IDisposable
using System;
using System.Collections.Generic;
using System.IO;
using Microsoft.FSharp.Collections;
using Microsoft.FSharp.Core;
using NuKeeper.Abstractions.Inspections.Files;
using Paket;
namespace NuKeeper.Inspection.RepositoryInspection
{