in src/CosmosCacheSessionConverterSTJ.cs [90:119]
public override void Write(Utf8JsonWriter writer, CosmosCacheSession value, JsonSerializerOptions options)
{
writer.WriteStartObject();
writer.WriteString(IdAttributeName, value.SessionKey);
writer.WriteString(ContentAttributeName, Convert.ToBase64String(value.Content));
if (value.TimeToLive.HasValue)
{
writer.WriteNumber(TtlAttributeName, value.TimeToLive.Value);
}
if (value.IsSlidingExpiration.HasValue)
{
writer.WriteBoolean(SlidingAttributeName, value.IsSlidingExpiration.Value);
}
if (value.AbsoluteSlidingExpiration.HasValue)
{
writer.WriteNumber(AbsoluteSlidingExpirationAttributeName, value.AbsoluteSlidingExpiration.Value);
}
if (!string.IsNullOrWhiteSpace(value.PartitionKeyAttribute)
&& !IdAttributeName.Equals(value.PartitionKeyAttribute, StringComparison.OrdinalIgnoreCase))
{
writer.WriteString(value.PartitionKeyAttribute, value.SessionKey);
}
writer.WriteEndObject();
}