Skip to content

Commit

Permalink
enhancement: Allow library user to provide some default GrpcChannelOp…
Browse files Browse the repository at this point in the history
…tions.

Signed-off-by: Mark Dinh <[email protected]>
  • Loading branch information
markdBC committed Aug 4, 2023
1 parent 595bdee commit 69b28c3
Showing 1 changed file with 16 additions and 2 deletions.
18 changes: 16 additions & 2 deletions src/Sdk/Cerbos/Sdk/Builder/CerbosClientBuilder.cs
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ public sealed class CerbosClientBuilder
private StreamReader CaCertificate { get; set; }
private StreamReader TlsCertificate { get; set; }
private StreamReader TlsKey { get; set; }
private GrpcChannelOptions GrpcChannelOptions { get; set; }

private CerbosClientBuilder(string target) {
Target = target;
Expand Down Expand Up @@ -55,6 +56,12 @@ public CerbosClientBuilder WithPlaygroundInstance(string playgroundInstanceId)
return this;
}

public CerbosClientBuilder WithGrpcChannelOptions(GrpcChannelOptions grpcChannelOptions)
{
GrpcChannelOptions = grpcChannelOptions;
return this;
}

public CerbosClient Build()
{
if (string.IsNullOrEmpty(Target))
Expand Down Expand Up @@ -100,11 +107,18 @@ public CerbosClient Build()
GrpcChannel channel;
if (Plaintext)
{
channel = GrpcChannel.ForAddress(Target);
if (GrpcChannelOptions != null)
{
channel = GrpcChannel.ForAddress(Target, GrpcChannelOptions);
}
else
{
channel = GrpcChannel.ForAddress(Target);
}
}
else
{
GrpcChannelOptions grpcChannelOptions = new GrpcChannelOptions();
GrpcChannelOptions grpcChannelOptions = GrpcChannelOptions ?? new GrpcChannelOptions();
if (callCredentials != null && sslCredentials != null)
{
grpcChannelOptions.Credentials = ChannelCredentials.Create(sslCredentials, callCredentials);
Expand Down

0 comments on commit 69b28c3

Please sign in to comment.