try to fix #44
This commit is contained in:
@@ -1,3 +1,5 @@
|
||||
using k8s.Models;
|
||||
|
||||
namespace k8s
|
||||
{
|
||||
using System;
|
||||
@@ -46,6 +48,8 @@ namespace k8s
|
||||
// set credentails for the kubernernet client
|
||||
this.SetCredentials(config, handler);
|
||||
this.InitializeHttpClient(handler, new DelegatingHandler[]{new WatcherDelegatingHandler()});
|
||||
|
||||
DeserializationSettings.Converters.Add(new V1Status.V1StatusObjectViewConverter());
|
||||
}
|
||||
|
||||
private X509Certificate2 CaCert { get; set; }
|
||||
|
||||
52
src/V1Status.ObjectView.cs
Normal file
52
src/V1Status.ObjectView.cs
Normal file
@@ -0,0 +1,52 @@
|
||||
using System;
|
||||
using Newtonsoft.Json;
|
||||
using Newtonsoft.Json.Linq;
|
||||
|
||||
namespace k8s.Models
|
||||
{
|
||||
public partial class V1Status
|
||||
{
|
||||
internal class V1StatusObjectViewConverter : JsonConverter
|
||||
{
|
||||
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
|
||||
{
|
||||
serializer.Serialize(writer, value);
|
||||
}
|
||||
|
||||
public override object ReadJson(JsonReader reader, Type objectType, object existingValue,
|
||||
JsonSerializer serializer)
|
||||
{
|
||||
var obj = JToken.Load(reader);
|
||||
|
||||
try
|
||||
{
|
||||
return obj.ToObject(objectType);
|
||||
}
|
||||
catch (JsonException)
|
||||
{
|
||||
// should be an object
|
||||
}
|
||||
|
||||
return new V1Status
|
||||
{
|
||||
_original = obj,
|
||||
HasObject = true
|
||||
};
|
||||
}
|
||||
|
||||
public override bool CanConvert(Type objectType)
|
||||
{
|
||||
return typeof(V1Status) == objectType;
|
||||
}
|
||||
}
|
||||
|
||||
private JToken _original;
|
||||
|
||||
public bool HasObject { get; private set; }
|
||||
|
||||
public T ObjectView<T>()
|
||||
{
|
||||
return _original.ToObject<T>();
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user