Beispiel #1
0
        /// <summary>
        ///     Deserialise a docker event from JSON.
        /// </summary>
        /// <param name="json">
        ///     The JSON.
        /// </param>
        /// <param name="correlationId">
        ///     An optional message correlation Id.
        /// </param>
        /// <returns>
        ///     The deserialised docker event.
        /// </returns>
        public static DockerEvent FromJson(string json, string correlationId = null)
        {
            if (String.IsNullOrWhiteSpace(json))
            {
                throw new ArgumentException($"Argument cannot be null, empty, or entirely composed of whitespace: {nameof(json)}.", nameof(json));
            }

            DockerEvent evt = JsonConvert.DeserializeObject <DockerEvent>(json);

            // Don't override existing correlation Id.
            if (evt.CorrelationId == null)
            {
                evt.CorrelationId = correlationId ?? CorrelatedMessage.NewCorrelationId();
            }

            return(evt);
        }