Exemplo n.º 1
0
        public static void Publish(this HttpContext httpContext, IPublication publication)
        {
            using var _ = publication.Use();
            var state        = publication.State;
            var computed     = state.Computed;
            var isConsistent = computed.IsConsistent;

            var headers = httpContext.Response.Headers;

            if (headers.ContainsKey(FusionHeaders.Publication))
            {
                throw Errors.AlreadyShared();
            }
            var psi = new PublicationStateInfo(publication.Ref, computed.Version, isConsistent);

            headers[FusionHeaders.Publication] = JsonConvert.SerializeObject(psi);
        }
Exemplo n.º 2
0
        public static void Publish(this HttpContext httpContext, IPublication publication)
        {
            using var _ = publication.Use();
            var state        = publication.State;
            var computed     = state.Computed;
            var isConsistent = computed.IsConsistent;

            var headers = httpContext.Response.Headers;

            if (headers.ContainsKey(FusionHeaders.PublisherId))
            {
                throw Errors.AlreadyShared();
            }
            headers[FusionHeaders.PublisherId]   = publication.Publisher.Id.Value;
            headers[FusionHeaders.PublicationId] = publication.Id.Value;
            headers[FusionHeaders.LTag]          = state.Computed.LTag.ToString();
            if (!isConsistent)
            {
                headers[FusionHeaders.IsConsistent] = isConsistent.ToString();
            }
        }