Skip to content
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 8 additions & 4 deletions src/Grpc.Core.Api/Metadata.cs
Original file line number Diff line number Diff line change
Expand Up @@ -128,16 +128,20 @@ public IEnumerable<Entry> GetAll(string key)
}

/// <summary>
/// Adds a new ASCII-valued metadata entry. See <c>Metadata.Entry</c> constructor for params.
/// Adds a new ASCII-valued metadata entry.
/// </summary>
/// <param name="key"><inheritdoc cref="Entry(string, string)" path="/param[@name='key']" /></param>
/// <param name="value"><inheritdoc cref="Entry(string, string)" path="/param[@name='value']" /></param>
public void Add(string key, string value)
{
Add(new Entry(key, value));
}

/// <summary>
/// Adds a new binary-valued metadata entry. See <c>Metadata.Entry</c> constructor for params.
/// Adds a new binary-valued metadata entry.
/// </summary>
/// <param name="key"><inheritdoc cref="Entry(string, byte[])" path="/param[@name='key']" /></param>
/// <param name="valueBytes"><inheritdoc cref="Entry(string, byte[])" path="/param[@name='valueBytes']" /></param>
public void Add(string key, byte[] valueBytes)
{
Add(new Entry(key, valueBytes));
Expand Down Expand Up @@ -290,13 +294,13 @@ private Entry(string key, string? value, byte[]? valueBytes)
/// <summary>
/// Initializes a new instance of the <see cref="Grpc.Core.Metadata.Entry"/> struct with a binary value.
/// </summary>
/// <param name="key">Metadata key. Gets converted to lowercase. Needs to have suffix indicating a binary valued metadata entry. Can only contain lowercase alphanumeric characters, underscores, hyphens and dots.</param>
/// <param name="key">Metadata key. Gets converted to lowercase. Needs to have suffix indicating a binary valued metadata entry (<see cref="Metadata.BinaryHeaderSuffix"/>). Can only contain lowercase alphanumeric characters, underscores, hyphens and dots.</param>
/// <param name="valueBytes">Value bytes.</param>
public Entry(string key, byte[] valueBytes)
{
this.key = NormalizeKey(key);
GrpcPreconditions.CheckArgument(HasBinaryHeaderSuffix(this.key),
"Key for binary valued metadata entry needs to have suffix indicating binary value.");
$"Key for binary valued metadata entry needs to have suffix indicating binary value. (See {nameof(Metadata)}.{nameof(BinaryHeaderSuffix)})");
this.value = null;
GrpcPreconditions.CheckNotNull(valueBytes, "valueBytes");
this.valueBytes = new byte[valueBytes.Length];
Expand Down