Files
client/Services/Grpc/GrpcMetadataFactory.cs

30 lines
777 B
C#
Raw Normal View History

2026-05-23 18:16:50 +08:00
using CloudPrint.Client.Models;
using Grpc.Core;
namespace CloudPrint.Client.Services.Grpc;
public static class GrpcMetadataFactory
{
public static Metadata Create(string apiKey, string printerToken, AdminSession adminSession)
{
var metadata = new Metadata();
AddIfNotEmpty(metadata, "x-api-key", apiKey);
AddIfNotEmpty(metadata, "x-printer-token", printerToken);
if (adminSession.IsAuthenticated)
{
metadata.Add("authorization", $"Bearer {adminSession.AccessToken}");
}
return metadata;
}
private static void AddIfNotEmpty(Metadata metadata, string key, string value)
{
if (!string.IsNullOrWhiteSpace(value))
{
metadata.Add(key, value);
}
}
}