Fix log return disposed obj (#705)

* generator not to dispose stream

* new generated code

* test to cover log stream
This commit is contained in:
Boshi Lian
2021-09-17 08:21:00 -07:00
committed by GitHub
parent 4e29dff8d2
commit 07ab21bb98
5 changed files with 308 additions and 221 deletions

View File

@@ -466,7 +466,7 @@ namespace k8s
} }
throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); throw new SerializationException("Unable to deserialize the response.", _responseContent, ex);
} }
{{/IfReturnType operation "stream"}} {{/IfReturnType operation "obj"}}
} }
{{/IfReturnType operation "any"}} {{/IfReturnType operation "any"}}
if (_shouldTrace) if (_shouldTrace)

View File

@@ -64,6 +64,17 @@ namespace k8s
{{/operation.parameters}} {{/operation.parameters}}
CancellationToken cancellationToken = default(CancellationToken)) CancellationToken cancellationToken = default(CancellationToken))
{ {
{{#IfReturnType operation "stream"}}
var _result = await operations.{{GetMethodName operation "WithHttpMessagesAsync"}}(
{{#operation.parameters}}
{{GetDotNetName .}},
{{/operation.parameters}}
null,
cancellationToken);
_result.Request.Dispose();
{{GetReturnType operation "_result.Body"}};
{{/IfReturnType operation "stream"}}
{{#IfReturnType operation "obj"}}
using (var _result = await operations.{{GetMethodName operation "WithHttpMessagesAsync"}}( using (var _result = await operations.{{GetMethodName operation "WithHttpMessagesAsync"}}(
{{#operation.parameters}} {{#operation.parameters}}
{{GetDotNetName .}}, {{GetDotNetName .}},
@@ -73,6 +84,17 @@ namespace k8s
{ {
{{GetReturnType operation "_result.Body"}}; {{GetReturnType operation "_result.Body"}};
} }
{{/IfReturnType operation "obj"}}
{{#IfReturnType operation "void"}}
using (var _result = await operations.{{GetMethodName operation "WithHttpMessagesAsync"}}(
{{#operation.parameters}}
{{GetDotNetName .}},
{{/operation.parameters}}
null,
cancellationToken).ConfigureAwait(false))
{
}
{{/IfReturnType operation "void"}}
} }
{{/.}} {{/.}}

View File

@@ -956,7 +956,7 @@ namespace KubernetesWatchGenerator
{ {
fn(null); fn(null);
} }
else if (type == "stream" && rt == "Stream") else if (type.ToLower() == rt.ToLower())
{ {
fn(null); fn(null);
} }

View File

@@ -12671,7 +12671,7 @@ namespace k8s
bool? tty = null, bool? tty = null,
CancellationToken cancellationToken = default(CancellationToken)) CancellationToken cancellationToken = default(CancellationToken))
{ {
using (var _result = await operations.ConnectGetNamespacedPodAttachWithHttpMessagesAsync( var _result = await operations.ConnectGetNamespacedPodAttachWithHttpMessagesAsync(
name, name,
namespaceParameter, namespaceParameter,
container, container,
@@ -12680,11 +12680,10 @@ namespace k8s
stdout, stdout,
tty, tty,
null, null,
cancellationToken).ConfigureAwait(false)) cancellationToken);
{ _result.Request.Dispose();
return _result.Body; return _result.Body;
} }
}
/// <summary> /// <summary>
/// connect POST requests to attach of Pod /// connect POST requests to attach of Pod
@@ -12789,7 +12788,7 @@ namespace k8s
bool? tty = null, bool? tty = null,
CancellationToken cancellationToken = default(CancellationToken)) CancellationToken cancellationToken = default(CancellationToken))
{ {
using (var _result = await operations.ConnectPostNamespacedPodAttachWithHttpMessagesAsync( var _result = await operations.ConnectPostNamespacedPodAttachWithHttpMessagesAsync(
name, name,
namespaceParameter, namespaceParameter,
container, container,
@@ -12798,11 +12797,10 @@ namespace k8s
stdout, stdout,
tty, tty,
null, null,
cancellationToken).ConfigureAwait(false)) cancellationToken);
{ _result.Request.Dispose();
return _result.Body; return _result.Body;
} }
}
/// <summary> /// <summary>
/// create binding of a Pod /// create binding of a Pod
@@ -13418,7 +13416,7 @@ namespace k8s
bool? tty = null, bool? tty = null,
CancellationToken cancellationToken = default(CancellationToken)) CancellationToken cancellationToken = default(CancellationToken))
{ {
using (var _result = await operations.ConnectGetNamespacedPodExecWithHttpMessagesAsync( var _result = await operations.ConnectGetNamespacedPodExecWithHttpMessagesAsync(
name, name,
namespaceParameter, namespaceParameter,
command, command,
@@ -13428,11 +13426,10 @@ namespace k8s
stdout, stdout,
tty, tty,
null, null,
cancellationToken).ConfigureAwait(false)) cancellationToken);
{ _result.Request.Dispose();
return _result.Body; return _result.Body;
} }
}
/// <summary> /// <summary>
/// connect POST requests to exec of Pod /// connect POST requests to exec of Pod
@@ -13540,7 +13537,7 @@ namespace k8s
bool? tty = null, bool? tty = null,
CancellationToken cancellationToken = default(CancellationToken)) CancellationToken cancellationToken = default(CancellationToken))
{ {
using (var _result = await operations.ConnectPostNamespacedPodExecWithHttpMessagesAsync( var _result = await operations.ConnectPostNamespacedPodExecWithHttpMessagesAsync(
name, name,
namespaceParameter, namespaceParameter,
command, command,
@@ -13550,11 +13547,10 @@ namespace k8s
stdout, stdout,
tty, tty,
null, null,
cancellationToken).ConfigureAwait(false)) cancellationToken);
{ _result.Request.Dispose();
return _result.Body; return _result.Body;
} }
}
/// <summary> /// <summary>
/// read log of the specified Pod /// read log of the specified Pod
@@ -13713,7 +13709,7 @@ namespace k8s
bool? timestamps = null, bool? timestamps = null,
CancellationToken cancellationToken = default(CancellationToken)) CancellationToken cancellationToken = default(CancellationToken))
{ {
using (var _result = await operations.ReadNamespacedPodLogWithHttpMessagesAsync( var _result = await operations.ReadNamespacedPodLogWithHttpMessagesAsync(
name, name,
namespaceParameter, namespaceParameter,
container, container,
@@ -13726,11 +13722,10 @@ namespace k8s
tailLines, tailLines,
timestamps, timestamps,
null, null,
cancellationToken).ConfigureAwait(false)) cancellationToken);
{ _result.Request.Dispose();
return _result.Body; return _result.Body;
} }
}
/// <summary> /// <summary>
/// connect GET requests to portforward of Pod /// connect GET requests to portforward of Pod
@@ -13787,16 +13782,15 @@ namespace k8s
int? ports = null, int? ports = null,
CancellationToken cancellationToken = default(CancellationToken)) CancellationToken cancellationToken = default(CancellationToken))
{ {
using (var _result = await operations.ConnectGetNamespacedPodPortforwardWithHttpMessagesAsync( var _result = await operations.ConnectGetNamespacedPodPortforwardWithHttpMessagesAsync(
name, name,
namespaceParameter, namespaceParameter,
ports, ports,
null, null,
cancellationToken).ConfigureAwait(false)) cancellationToken);
{ _result.Request.Dispose();
return _result.Body; return _result.Body;
} }
}
/// <summary> /// <summary>
/// connect POST requests to portforward of Pod /// connect POST requests to portforward of Pod
@@ -13853,16 +13847,15 @@ namespace k8s
int? ports = null, int? ports = null,
CancellationToken cancellationToken = default(CancellationToken)) CancellationToken cancellationToken = default(CancellationToken))
{ {
using (var _result = await operations.ConnectPostNamespacedPodPortforwardWithHttpMessagesAsync( var _result = await operations.ConnectPostNamespacedPodPortforwardWithHttpMessagesAsync(
name, name,
namespaceParameter, namespaceParameter,
ports, ports,
null, null,
cancellationToken).ConfigureAwait(false)) cancellationToken);
{ _result.Request.Dispose();
return _result.Body; return _result.Body;
} }
}
/// <summary> /// <summary>
/// connect DELETE requests to proxy of Pod /// connect DELETE requests to proxy of Pod
@@ -13919,16 +13912,15 @@ namespace k8s
string path = null, string path = null,
CancellationToken cancellationToken = default(CancellationToken)) CancellationToken cancellationToken = default(CancellationToken))
{ {
using (var _result = await operations.ConnectDeleteNamespacedPodProxyWithHttpMessagesAsync( var _result = await operations.ConnectDeleteNamespacedPodProxyWithHttpMessagesAsync(
name, name,
namespaceParameter, namespaceParameter,
path, path,
null, null,
cancellationToken).ConfigureAwait(false)) cancellationToken);
{ _result.Request.Dispose();
return _result.Body; return _result.Body;
} }
}
/// <summary> /// <summary>
/// connect GET requests to proxy of Pod /// connect GET requests to proxy of Pod
@@ -13985,16 +13977,15 @@ namespace k8s
string path = null, string path = null,
CancellationToken cancellationToken = default(CancellationToken)) CancellationToken cancellationToken = default(CancellationToken))
{ {
using (var _result = await operations.ConnectGetNamespacedPodProxyWithHttpMessagesAsync( var _result = await operations.ConnectGetNamespacedPodProxyWithHttpMessagesAsync(
name, name,
namespaceParameter, namespaceParameter,
path, path,
null, null,
cancellationToken).ConfigureAwait(false)) cancellationToken);
{ _result.Request.Dispose();
return _result.Body; return _result.Body;
} }
}
/// <summary> /// <summary>
/// connect HEAD requests to proxy of Pod /// connect HEAD requests to proxy of Pod
@@ -14051,16 +14042,15 @@ namespace k8s
string path = null, string path = null,
CancellationToken cancellationToken = default(CancellationToken)) CancellationToken cancellationToken = default(CancellationToken))
{ {
using (var _result = await operations.ConnectHeadNamespacedPodProxyWithHttpMessagesAsync( var _result = await operations.ConnectHeadNamespacedPodProxyWithHttpMessagesAsync(
name, name,
namespaceParameter, namespaceParameter,
path, path,
null, null,
cancellationToken).ConfigureAwait(false)) cancellationToken);
{ _result.Request.Dispose();
return _result.Body; return _result.Body;
} }
}
/// <summary> /// <summary>
/// connect PATCH requests to proxy of Pod /// connect PATCH requests to proxy of Pod
@@ -14117,16 +14107,15 @@ namespace k8s
string path = null, string path = null,
CancellationToken cancellationToken = default(CancellationToken)) CancellationToken cancellationToken = default(CancellationToken))
{ {
using (var _result = await operations.ConnectPatchNamespacedPodProxyWithHttpMessagesAsync( var _result = await operations.ConnectPatchNamespacedPodProxyWithHttpMessagesAsync(
name, name,
namespaceParameter, namespaceParameter,
path, path,
null, null,
cancellationToken).ConfigureAwait(false)) cancellationToken);
{ _result.Request.Dispose();
return _result.Body; return _result.Body;
} }
}
/// <summary> /// <summary>
/// connect POST requests to proxy of Pod /// connect POST requests to proxy of Pod
@@ -14183,16 +14172,15 @@ namespace k8s
string path = null, string path = null,
CancellationToken cancellationToken = default(CancellationToken)) CancellationToken cancellationToken = default(CancellationToken))
{ {
using (var _result = await operations.ConnectPostNamespacedPodProxyWithHttpMessagesAsync( var _result = await operations.ConnectPostNamespacedPodProxyWithHttpMessagesAsync(
name, name,
namespaceParameter, namespaceParameter,
path, path,
null, null,
cancellationToken).ConfigureAwait(false)) cancellationToken);
{ _result.Request.Dispose();
return _result.Body; return _result.Body;
} }
}
/// <summary> /// <summary>
/// connect PUT requests to proxy of Pod /// connect PUT requests to proxy of Pod
@@ -14249,16 +14237,15 @@ namespace k8s
string path = null, string path = null,
CancellationToken cancellationToken = default(CancellationToken)) CancellationToken cancellationToken = default(CancellationToken))
{ {
using (var _result = await operations.ConnectPutNamespacedPodProxyWithHttpMessagesAsync( var _result = await operations.ConnectPutNamespacedPodProxyWithHttpMessagesAsync(
name, name,
namespaceParameter, namespaceParameter,
path, path,
null, null,
cancellationToken).ConfigureAwait(false)) cancellationToken);
{ _result.Request.Dispose();
return _result.Body; return _result.Body;
} }
}
/// <summary> /// <summary>
/// connect DELETE requests to proxy of Pod /// connect DELETE requests to proxy of Pod
@@ -14324,17 +14311,16 @@ namespace k8s
string path1 = null, string path1 = null,
CancellationToken cancellationToken = default(CancellationToken)) CancellationToken cancellationToken = default(CancellationToken))
{ {
using (var _result = await operations.ConnectDeleteNamespacedPodProxyWithPathWithHttpMessagesAsync( var _result = await operations.ConnectDeleteNamespacedPodProxyWithPathWithHttpMessagesAsync(
name, name,
namespaceParameter, namespaceParameter,
path, path,
path1, path1,
null, null,
cancellationToken).ConfigureAwait(false)) cancellationToken);
{ _result.Request.Dispose();
return _result.Body; return _result.Body;
} }
}
/// <summary> /// <summary>
/// connect GET requests to proxy of Pod /// connect GET requests to proxy of Pod
@@ -14400,17 +14386,16 @@ namespace k8s
string path1 = null, string path1 = null,
CancellationToken cancellationToken = default(CancellationToken)) CancellationToken cancellationToken = default(CancellationToken))
{ {
using (var _result = await operations.ConnectGetNamespacedPodProxyWithPathWithHttpMessagesAsync( var _result = await operations.ConnectGetNamespacedPodProxyWithPathWithHttpMessagesAsync(
name, name,
namespaceParameter, namespaceParameter,
path, path,
path1, path1,
null, null,
cancellationToken).ConfigureAwait(false)) cancellationToken);
{ _result.Request.Dispose();
return _result.Body; return _result.Body;
} }
}
/// <summary> /// <summary>
/// connect HEAD requests to proxy of Pod /// connect HEAD requests to proxy of Pod
@@ -14476,17 +14461,16 @@ namespace k8s
string path1 = null, string path1 = null,
CancellationToken cancellationToken = default(CancellationToken)) CancellationToken cancellationToken = default(CancellationToken))
{ {
using (var _result = await operations.ConnectHeadNamespacedPodProxyWithPathWithHttpMessagesAsync( var _result = await operations.ConnectHeadNamespacedPodProxyWithPathWithHttpMessagesAsync(
name, name,
namespaceParameter, namespaceParameter,
path, path,
path1, path1,
null, null,
cancellationToken).ConfigureAwait(false)) cancellationToken);
{ _result.Request.Dispose();
return _result.Body; return _result.Body;
} }
}
/// <summary> /// <summary>
/// connect PATCH requests to proxy of Pod /// connect PATCH requests to proxy of Pod
@@ -14552,17 +14536,16 @@ namespace k8s
string path1 = null, string path1 = null,
CancellationToken cancellationToken = default(CancellationToken)) CancellationToken cancellationToken = default(CancellationToken))
{ {
using (var _result = await operations.ConnectPatchNamespacedPodProxyWithPathWithHttpMessagesAsync( var _result = await operations.ConnectPatchNamespacedPodProxyWithPathWithHttpMessagesAsync(
name, name,
namespaceParameter, namespaceParameter,
path, path,
path1, path1,
null, null,
cancellationToken).ConfigureAwait(false)) cancellationToken);
{ _result.Request.Dispose();
return _result.Body; return _result.Body;
} }
}
/// <summary> /// <summary>
/// connect POST requests to proxy of Pod /// connect POST requests to proxy of Pod
@@ -14628,17 +14611,16 @@ namespace k8s
string path1 = null, string path1 = null,
CancellationToken cancellationToken = default(CancellationToken)) CancellationToken cancellationToken = default(CancellationToken))
{ {
using (var _result = await operations.ConnectPostNamespacedPodProxyWithPathWithHttpMessagesAsync( var _result = await operations.ConnectPostNamespacedPodProxyWithPathWithHttpMessagesAsync(
name, name,
namespaceParameter, namespaceParameter,
path, path,
path1, path1,
null, null,
cancellationToken).ConfigureAwait(false)) cancellationToken);
{ _result.Request.Dispose();
return _result.Body; return _result.Body;
} }
}
/// <summary> /// <summary>
/// connect PUT requests to proxy of Pod /// connect PUT requests to proxy of Pod
@@ -14704,17 +14686,16 @@ namespace k8s
string path1 = null, string path1 = null,
CancellationToken cancellationToken = default(CancellationToken)) CancellationToken cancellationToken = default(CancellationToken))
{ {
using (var _result = await operations.ConnectPutNamespacedPodProxyWithPathWithHttpMessagesAsync( var _result = await operations.ConnectPutNamespacedPodProxyWithPathWithHttpMessagesAsync(
name, name,
namespaceParameter, namespaceParameter,
path, path,
path1, path1,
null, null,
cancellationToken).ConfigureAwait(false)) cancellationToken);
{ _result.Request.Dispose();
return _result.Body; return _result.Body;
} }
}
/// <summary> /// <summary>
/// read status of the specified Pod /// read status of the specified Pod
@@ -22341,16 +22322,15 @@ namespace k8s
string path = null, string path = null,
CancellationToken cancellationToken = default(CancellationToken)) CancellationToken cancellationToken = default(CancellationToken))
{ {
using (var _result = await operations.ConnectDeleteNamespacedServiceProxyWithHttpMessagesAsync( var _result = await operations.ConnectDeleteNamespacedServiceProxyWithHttpMessagesAsync(
name, name,
namespaceParameter, namespaceParameter,
path, path,
null, null,
cancellationToken).ConfigureAwait(false)) cancellationToken);
{ _result.Request.Dispose();
return _result.Body; return _result.Body;
} }
}
/// <summary> /// <summary>
/// connect GET requests to proxy of Service /// connect GET requests to proxy of Service
@@ -22415,16 +22395,15 @@ namespace k8s
string path = null, string path = null,
CancellationToken cancellationToken = default(CancellationToken)) CancellationToken cancellationToken = default(CancellationToken))
{ {
using (var _result = await operations.ConnectGetNamespacedServiceProxyWithHttpMessagesAsync( var _result = await operations.ConnectGetNamespacedServiceProxyWithHttpMessagesAsync(
name, name,
namespaceParameter, namespaceParameter,
path, path,
null, null,
cancellationToken).ConfigureAwait(false)) cancellationToken);
{ _result.Request.Dispose();
return _result.Body; return _result.Body;
} }
}
/// <summary> /// <summary>
/// connect HEAD requests to proxy of Service /// connect HEAD requests to proxy of Service
@@ -22489,16 +22468,15 @@ namespace k8s
string path = null, string path = null,
CancellationToken cancellationToken = default(CancellationToken)) CancellationToken cancellationToken = default(CancellationToken))
{ {
using (var _result = await operations.ConnectHeadNamespacedServiceProxyWithHttpMessagesAsync( var _result = await operations.ConnectHeadNamespacedServiceProxyWithHttpMessagesAsync(
name, name,
namespaceParameter, namespaceParameter,
path, path,
null, null,
cancellationToken).ConfigureAwait(false)) cancellationToken);
{ _result.Request.Dispose();
return _result.Body; return _result.Body;
} }
}
/// <summary> /// <summary>
/// connect PATCH requests to proxy of Service /// connect PATCH requests to proxy of Service
@@ -22563,16 +22541,15 @@ namespace k8s
string path = null, string path = null,
CancellationToken cancellationToken = default(CancellationToken)) CancellationToken cancellationToken = default(CancellationToken))
{ {
using (var _result = await operations.ConnectPatchNamespacedServiceProxyWithHttpMessagesAsync( var _result = await operations.ConnectPatchNamespacedServiceProxyWithHttpMessagesAsync(
name, name,
namespaceParameter, namespaceParameter,
path, path,
null, null,
cancellationToken).ConfigureAwait(false)) cancellationToken);
{ _result.Request.Dispose();
return _result.Body; return _result.Body;
} }
}
/// <summary> /// <summary>
/// connect POST requests to proxy of Service /// connect POST requests to proxy of Service
@@ -22637,16 +22614,15 @@ namespace k8s
string path = null, string path = null,
CancellationToken cancellationToken = default(CancellationToken)) CancellationToken cancellationToken = default(CancellationToken))
{ {
using (var _result = await operations.ConnectPostNamespacedServiceProxyWithHttpMessagesAsync( var _result = await operations.ConnectPostNamespacedServiceProxyWithHttpMessagesAsync(
name, name,
namespaceParameter, namespaceParameter,
path, path,
null, null,
cancellationToken).ConfigureAwait(false)) cancellationToken);
{ _result.Request.Dispose();
return _result.Body; return _result.Body;
} }
}
/// <summary> /// <summary>
/// connect PUT requests to proxy of Service /// connect PUT requests to proxy of Service
@@ -22711,16 +22687,15 @@ namespace k8s
string path = null, string path = null,
CancellationToken cancellationToken = default(CancellationToken)) CancellationToken cancellationToken = default(CancellationToken))
{ {
using (var _result = await operations.ConnectPutNamespacedServiceProxyWithHttpMessagesAsync( var _result = await operations.ConnectPutNamespacedServiceProxyWithHttpMessagesAsync(
name, name,
namespaceParameter, namespaceParameter,
path, path,
null, null,
cancellationToken).ConfigureAwait(false)) cancellationToken);
{ _result.Request.Dispose();
return _result.Body; return _result.Body;
} }
}
/// <summary> /// <summary>
/// connect DELETE requests to proxy of Service /// connect DELETE requests to proxy of Service
@@ -22794,17 +22769,16 @@ namespace k8s
string path1 = null, string path1 = null,
CancellationToken cancellationToken = default(CancellationToken)) CancellationToken cancellationToken = default(CancellationToken))
{ {
using (var _result = await operations.ConnectDeleteNamespacedServiceProxyWithPathWithHttpMessagesAsync( var _result = await operations.ConnectDeleteNamespacedServiceProxyWithPathWithHttpMessagesAsync(
name, name,
namespaceParameter, namespaceParameter,
path, path,
path1, path1,
null, null,
cancellationToken).ConfigureAwait(false)) cancellationToken);
{ _result.Request.Dispose();
return _result.Body; return _result.Body;
} }
}
/// <summary> /// <summary>
/// connect GET requests to proxy of Service /// connect GET requests to proxy of Service
@@ -22878,17 +22852,16 @@ namespace k8s
string path1 = null, string path1 = null,
CancellationToken cancellationToken = default(CancellationToken)) CancellationToken cancellationToken = default(CancellationToken))
{ {
using (var _result = await operations.ConnectGetNamespacedServiceProxyWithPathWithHttpMessagesAsync( var _result = await operations.ConnectGetNamespacedServiceProxyWithPathWithHttpMessagesAsync(
name, name,
namespaceParameter, namespaceParameter,
path, path,
path1, path1,
null, null,
cancellationToken).ConfigureAwait(false)) cancellationToken);
{ _result.Request.Dispose();
return _result.Body; return _result.Body;
} }
}
/// <summary> /// <summary>
/// connect HEAD requests to proxy of Service /// connect HEAD requests to proxy of Service
@@ -22962,17 +22935,16 @@ namespace k8s
string path1 = null, string path1 = null,
CancellationToken cancellationToken = default(CancellationToken)) CancellationToken cancellationToken = default(CancellationToken))
{ {
using (var _result = await operations.ConnectHeadNamespacedServiceProxyWithPathWithHttpMessagesAsync( var _result = await operations.ConnectHeadNamespacedServiceProxyWithPathWithHttpMessagesAsync(
name, name,
namespaceParameter, namespaceParameter,
path, path,
path1, path1,
null, null,
cancellationToken).ConfigureAwait(false)) cancellationToken);
{ _result.Request.Dispose();
return _result.Body; return _result.Body;
} }
}
/// <summary> /// <summary>
/// connect PATCH requests to proxy of Service /// connect PATCH requests to proxy of Service
@@ -23046,17 +23018,16 @@ namespace k8s
string path1 = null, string path1 = null,
CancellationToken cancellationToken = default(CancellationToken)) CancellationToken cancellationToken = default(CancellationToken))
{ {
using (var _result = await operations.ConnectPatchNamespacedServiceProxyWithPathWithHttpMessagesAsync( var _result = await operations.ConnectPatchNamespacedServiceProxyWithPathWithHttpMessagesAsync(
name, name,
namespaceParameter, namespaceParameter,
path, path,
path1, path1,
null, null,
cancellationToken).ConfigureAwait(false)) cancellationToken);
{ _result.Request.Dispose();
return _result.Body; return _result.Body;
} }
}
/// <summary> /// <summary>
/// connect POST requests to proxy of Service /// connect POST requests to proxy of Service
@@ -23130,17 +23101,16 @@ namespace k8s
string path1 = null, string path1 = null,
CancellationToken cancellationToken = default(CancellationToken)) CancellationToken cancellationToken = default(CancellationToken))
{ {
using (var _result = await operations.ConnectPostNamespacedServiceProxyWithPathWithHttpMessagesAsync( var _result = await operations.ConnectPostNamespacedServiceProxyWithPathWithHttpMessagesAsync(
name, name,
namespaceParameter, namespaceParameter,
path, path,
path1, path1,
null, null,
cancellationToken).ConfigureAwait(false)) cancellationToken);
{ _result.Request.Dispose();
return _result.Body; return _result.Body;
} }
}
/// <summary> /// <summary>
/// connect PUT requests to proxy of Service /// connect PUT requests to proxy of Service
@@ -23214,17 +23184,16 @@ namespace k8s
string path1 = null, string path1 = null,
CancellationToken cancellationToken = default(CancellationToken)) CancellationToken cancellationToken = default(CancellationToken))
{ {
using (var _result = await operations.ConnectPutNamespacedServiceProxyWithPathWithHttpMessagesAsync( var _result = await operations.ConnectPutNamespacedServiceProxyWithPathWithHttpMessagesAsync(
name, name,
namespaceParameter, namespaceParameter,
path, path,
path1, path1,
null, null,
cancellationToken).ConfigureAwait(false)) cancellationToken);
{ _result.Request.Dispose();
return _result.Body; return _result.Body;
} }
}
/// <summary> /// <summary>
/// read status of the specified Service /// read status of the specified Service
@@ -25358,15 +25327,14 @@ namespace k8s
string path = null, string path = null,
CancellationToken cancellationToken = default(CancellationToken)) CancellationToken cancellationToken = default(CancellationToken))
{ {
using (var _result = await operations.ConnectDeleteNodeProxyWithHttpMessagesAsync( var _result = await operations.ConnectDeleteNodeProxyWithHttpMessagesAsync(
name, name,
path, path,
null, null,
cancellationToken).ConfigureAwait(false)) cancellationToken);
{ _result.Request.Dispose();
return _result.Body; return _result.Body;
} }
}
/// <summary> /// <summary>
/// connect GET requests to proxy of Node /// connect GET requests to proxy of Node
@@ -25414,15 +25382,14 @@ namespace k8s
string path = null, string path = null,
CancellationToken cancellationToken = default(CancellationToken)) CancellationToken cancellationToken = default(CancellationToken))
{ {
using (var _result = await operations.ConnectGetNodeProxyWithHttpMessagesAsync( var _result = await operations.ConnectGetNodeProxyWithHttpMessagesAsync(
name, name,
path, path,
null, null,
cancellationToken).ConfigureAwait(false)) cancellationToken);
{ _result.Request.Dispose();
return _result.Body; return _result.Body;
} }
}
/// <summary> /// <summary>
/// connect HEAD requests to proxy of Node /// connect HEAD requests to proxy of Node
@@ -25470,15 +25437,14 @@ namespace k8s
string path = null, string path = null,
CancellationToken cancellationToken = default(CancellationToken)) CancellationToken cancellationToken = default(CancellationToken))
{ {
using (var _result = await operations.ConnectHeadNodeProxyWithHttpMessagesAsync( var _result = await operations.ConnectHeadNodeProxyWithHttpMessagesAsync(
name, name,
path, path,
null, null,
cancellationToken).ConfigureAwait(false)) cancellationToken);
{ _result.Request.Dispose();
return _result.Body; return _result.Body;
} }
}
/// <summary> /// <summary>
/// connect PATCH requests to proxy of Node /// connect PATCH requests to proxy of Node
@@ -25526,15 +25492,14 @@ namespace k8s
string path = null, string path = null,
CancellationToken cancellationToken = default(CancellationToken)) CancellationToken cancellationToken = default(CancellationToken))
{ {
using (var _result = await operations.ConnectPatchNodeProxyWithHttpMessagesAsync( var _result = await operations.ConnectPatchNodeProxyWithHttpMessagesAsync(
name, name,
path, path,
null, null,
cancellationToken).ConfigureAwait(false)) cancellationToken);
{ _result.Request.Dispose();
return _result.Body; return _result.Body;
} }
}
/// <summary> /// <summary>
/// connect POST requests to proxy of Node /// connect POST requests to proxy of Node
@@ -25582,15 +25547,14 @@ namespace k8s
string path = null, string path = null,
CancellationToken cancellationToken = default(CancellationToken)) CancellationToken cancellationToken = default(CancellationToken))
{ {
using (var _result = await operations.ConnectPostNodeProxyWithHttpMessagesAsync( var _result = await operations.ConnectPostNodeProxyWithHttpMessagesAsync(
name, name,
path, path,
null, null,
cancellationToken).ConfigureAwait(false)) cancellationToken);
{ _result.Request.Dispose();
return _result.Body; return _result.Body;
} }
}
/// <summary> /// <summary>
/// connect PUT requests to proxy of Node /// connect PUT requests to proxy of Node
@@ -25638,15 +25602,14 @@ namespace k8s
string path = null, string path = null,
CancellationToken cancellationToken = default(CancellationToken)) CancellationToken cancellationToken = default(CancellationToken))
{ {
using (var _result = await operations.ConnectPutNodeProxyWithHttpMessagesAsync( var _result = await operations.ConnectPutNodeProxyWithHttpMessagesAsync(
name, name,
path, path,
null, null,
cancellationToken).ConfigureAwait(false)) cancellationToken);
{ _result.Request.Dispose();
return _result.Body; return _result.Body;
} }
}
/// <summary> /// <summary>
/// connect DELETE requests to proxy of Node /// connect DELETE requests to proxy of Node
@@ -25703,16 +25666,15 @@ namespace k8s
string path1 = null, string path1 = null,
CancellationToken cancellationToken = default(CancellationToken)) CancellationToken cancellationToken = default(CancellationToken))
{ {
using (var _result = await operations.ConnectDeleteNodeProxyWithPathWithHttpMessagesAsync( var _result = await operations.ConnectDeleteNodeProxyWithPathWithHttpMessagesAsync(
name, name,
path, path,
path1, path1,
null, null,
cancellationToken).ConfigureAwait(false)) cancellationToken);
{ _result.Request.Dispose();
return _result.Body; return _result.Body;
} }
}
/// <summary> /// <summary>
/// connect GET requests to proxy of Node /// connect GET requests to proxy of Node
@@ -25769,16 +25731,15 @@ namespace k8s
string path1 = null, string path1 = null,
CancellationToken cancellationToken = default(CancellationToken)) CancellationToken cancellationToken = default(CancellationToken))
{ {
using (var _result = await operations.ConnectGetNodeProxyWithPathWithHttpMessagesAsync( var _result = await operations.ConnectGetNodeProxyWithPathWithHttpMessagesAsync(
name, name,
path, path,
path1, path1,
null, null,
cancellationToken).ConfigureAwait(false)) cancellationToken);
{ _result.Request.Dispose();
return _result.Body; return _result.Body;
} }
}
/// <summary> /// <summary>
/// connect HEAD requests to proxy of Node /// connect HEAD requests to proxy of Node
@@ -25835,16 +25796,15 @@ namespace k8s
string path1 = null, string path1 = null,
CancellationToken cancellationToken = default(CancellationToken)) CancellationToken cancellationToken = default(CancellationToken))
{ {
using (var _result = await operations.ConnectHeadNodeProxyWithPathWithHttpMessagesAsync( var _result = await operations.ConnectHeadNodeProxyWithPathWithHttpMessagesAsync(
name, name,
path, path,
path1, path1,
null, null,
cancellationToken).ConfigureAwait(false)) cancellationToken);
{ _result.Request.Dispose();
return _result.Body; return _result.Body;
} }
}
/// <summary> /// <summary>
/// connect PATCH requests to proxy of Node /// connect PATCH requests to proxy of Node
@@ -25901,16 +25861,15 @@ namespace k8s
string path1 = null, string path1 = null,
CancellationToken cancellationToken = default(CancellationToken)) CancellationToken cancellationToken = default(CancellationToken))
{ {
using (var _result = await operations.ConnectPatchNodeProxyWithPathWithHttpMessagesAsync( var _result = await operations.ConnectPatchNodeProxyWithPathWithHttpMessagesAsync(
name, name,
path, path,
path1, path1,
null, null,
cancellationToken).ConfigureAwait(false)) cancellationToken);
{ _result.Request.Dispose();
return _result.Body; return _result.Body;
} }
}
/// <summary> /// <summary>
/// connect POST requests to proxy of Node /// connect POST requests to proxy of Node
@@ -25967,16 +25926,15 @@ namespace k8s
string path1 = null, string path1 = null,
CancellationToken cancellationToken = default(CancellationToken)) CancellationToken cancellationToken = default(CancellationToken))
{ {
using (var _result = await operations.ConnectPostNodeProxyWithPathWithHttpMessagesAsync( var _result = await operations.ConnectPostNodeProxyWithPathWithHttpMessagesAsync(
name, name,
path, path,
path1, path1,
null, null,
cancellationToken).ConfigureAwait(false)) cancellationToken);
{ _result.Request.Dispose();
return _result.Body; return _result.Body;
} }
}
/// <summary> /// <summary>
/// connect PUT requests to proxy of Node /// connect PUT requests to proxy of Node
@@ -26033,16 +25991,15 @@ namespace k8s
string path1 = null, string path1 = null,
CancellationToken cancellationToken = default(CancellationToken)) CancellationToken cancellationToken = default(CancellationToken))
{ {
using (var _result = await operations.ConnectPutNodeProxyWithPathWithHttpMessagesAsync( var _result = await operations.ConnectPutNodeProxyWithPathWithHttpMessagesAsync(
name, name,
path, path,
path1, path1,
null, null,
cancellationToken).ConfigureAwait(false)) cancellationToken);
{ _result.Request.Dispose();
return _result.Body; return _result.Body;
} }
}
/// <summary> /// <summary>
/// read status of the specified Node /// read status of the specified Node
@@ -94394,7 +94351,6 @@ namespace k8s
null, null,
cancellationToken).ConfigureAwait(false)) cancellationToken).ConfigureAwait(false))
{ {
;
} }
} }
@@ -94440,7 +94396,6 @@ namespace k8s
null, null,
cancellationToken).ConfigureAwait(false)) cancellationToken).ConfigureAwait(false))
{ {
;
} }
} }

View File

@@ -2,6 +2,7 @@ using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Collections.ObjectModel; using System.Collections.ObjectModel;
using System.Diagnostics; using System.Diagnostics;
using System.IO;
using System.Linq; using System.Linq;
using System.Threading; using System.Threading;
using System.Threading.Tasks; using System.Threading.Tasks;
@@ -28,10 +29,20 @@ namespace k8s.E2E
void Cleanup() void Cleanup()
{ {
var pods = client.ListNamespacedPod(namespaceParameter); var pods = client.ListNamespacedPod(namespaceParameter);
if (pods.Items.Any(p => p.Metadata.Name == podName)) while (pods.Items.Any(p => p.Metadata.Name == podName))
{
try
{ {
client.DeleteNamespacedPod(podName, namespaceParameter); client.DeleteNamespacedPod(podName, namespaceParameter);
} }
catch (HttpOperationException e)
{
if (e.Response.StatusCode == System.Net.HttpStatusCode.NotFound)
{
return;
}
}
}
} }
try try
@@ -326,6 +337,105 @@ namespace k8s.E2E
} }
} }
[MinikubeFact]
public async Task LogStreamTestAsync()
{
var namespaceParameter = "default";
var podName = "k8scsharp-e2e-logstream-pod";
var client = CreateClient();
void Cleanup()
{
var pods = client.ListNamespacedPod(namespaceParameter);
while (pods.Items.Any(p => p.Metadata.Name == podName))
{
try
{
client.DeleteNamespacedPod(podName, namespaceParameter);
}
catch (HttpOperationException e)
{
if (e.Response.StatusCode == System.Net.HttpStatusCode.NotFound)
{
return;
}
}
}
}
try
{
Cleanup();
client.CreateNamespacedPod(
new V1Pod()
{
Metadata = new V1ObjectMeta { Name = podName, },
Spec = new V1PodSpec
{
Containers = new[]
{
new V1Container()
{
Name = "k8scsharp-e2e-logstream",
Image = "busybox",
Command = new[] { "ping" },
Args = new[] { "-i", "10", "127.0.0.1" },
},
},
},
},
namespaceParameter);
var lines = new List<string>();
var started = new ManualResetEvent(false);
async Task<V1Pod> Pod()
{
var pods = client.ListNamespacedPod(namespaceParameter);
var pod = pods.Items.First();
while (pod.Status.Phase != "Running")
{
await Task.Delay(TimeSpan.FromSeconds(1)).ConfigureAwait(false);
return await Pod().ConfigureAwait(false);
}
return pod;
}
var pod = await Pod().ConfigureAwait(false);
var stream = client.ReadNamespacedPodLog(pod.Metadata.Name, pod.Metadata.NamespaceProperty, follow: true);
using var reader = new StreamReader(stream);
var copytask = Task.Run(() =>
{
for (; ; )
{
try
{
lines.Add(reader.ReadLine());
}
finally
{
started.Set();
}
}
});
Assert.True(started.WaitOne(TimeSpan.FromMinutes(2)));
await Task.Delay(TimeSpan.FromSeconds(1)).ConfigureAwait(false);
Assert.Null(copytask.Exception);
Assert.Equal(2, lines.Count);
await Task.Delay(TimeSpan.FromSeconds(11)).ConfigureAwait(false);
Assert.Equal(3, lines.Count);
}
finally
{
Cleanup();
}
}
[MinikubeFact] [MinikubeFact]
public async Task DatetimeFieldTest() public async Task DatetimeFieldTest()
{ {