private static void SerializeConfiguration(JsonTextWriter writer, HystrixConfiguration config) { writer.WriteStartObject(); writer.WriteStringField("type", "HystrixConfig"); writer.WriteObjectFieldStart("commands"); foreach (var entry in config.CommandConfig) { IHystrixCommandKey key = entry.Key; HystrixCommandConfiguration commandConfig = entry.Value; WriteCommandConfigJson(writer, key, commandConfig); } writer.WriteEndObject(); writer.WriteObjectFieldStart("threadpools"); foreach (var entry in config.ThreadPoolConfig) { IHystrixThreadPoolKey threadPoolKey = entry.Key; HystrixThreadPoolConfiguration threadPoolConfig = entry.Value; WriteThreadPoolConfigJson(writer, threadPoolKey, threadPoolConfig); } writer.WriteEndObject(); writer.WriteObjectFieldStart("collapsers"); foreach (var entry in config.CollapserConfig) { IHystrixCollapserKey collapserKey = entry.Key; HystrixCollapserConfiguration collapserConfig = entry.Value; WriteCollapserConfigJson(writer, collapserKey, collapserConfig); } writer.WriteEndObject(); writer.WriteEndObject(); }
public static string ToJsonString(HystrixConfiguration config) { using var sw = new StringWriter(); using (var writer = new JsonTextWriter(sw)) { SerializeConfiguration(writer, config); } return(sw.ToString()); }