public override void WriteJson()

in src/CosmosCacheSessionConverter.cs [74:112]


        public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
        {
            CosmosCacheSession cosmosCacheSession = value as CosmosCacheSession;

            writer.WriteStartObject();

            writer.WritePropertyName(CosmosCacheSessionConverter.IdAttributeName);
            writer.WriteValue(cosmosCacheSession.SessionKey);

            writer.WritePropertyName(CosmosCacheSessionConverter.ContentAttributeName);
            writer.WriteValue(Convert.ToBase64String(cosmosCacheSession.Content));

            if (cosmosCacheSession.TimeToLive.HasValue)
            {
                writer.WritePropertyName(CosmosCacheSessionConverter.TtlAttributeName);
                writer.WriteValue(cosmosCacheSession.TimeToLive.Value);
            }

            if (cosmosCacheSession.IsSlidingExpiration.HasValue)
            {
                writer.WritePropertyName(CosmosCacheSessionConverter.SlidingAttributeName);
                writer.WriteValue(cosmosCacheSession.IsSlidingExpiration.Value);
            }

            if (cosmosCacheSession.AbsoluteSlidingExpiration.HasValue)
            {
                writer.WritePropertyName(CosmosCacheSessionConverter.AbsoluteSlidingExpirationAttributeName);
                writer.WriteValue(cosmosCacheSession.AbsoluteSlidingExpiration.Value);
            }

            if (!string.IsNullOrWhiteSpace(cosmosCacheSession.PartitionKeyAttribute)
                && !CosmosCacheSessionConverter.IdAttributeName.Equals(cosmosCacheSession.PartitionKeyAttribute, StringComparison.OrdinalIgnoreCase))
            {
                writer.WritePropertyName(cosmosCacheSession.PartitionKeyAttribute);
                writer.WriteValue(cosmosCacheSession.SessionKey);
            }

            writer.WriteEndObject();
        }