diff --git a/packages/http-client-csharp/eng/scripts/Generate.ps1 b/packages/http-client-csharp/eng/scripts/Generate.ps1
index e4578e1f41..533d189b04 100644
--- a/packages/http-client-csharp/eng/scripts/Generate.ps1
+++ b/packages/http-client-csharp/eng/scripts/Generate.ps1
@@ -54,7 +54,6 @@ $failingSpecs = @(
Join-Path 'http' 'client' 'structure' 'client-operation-group'
Join-Path 'http' 'client' 'structure' 'renamed-operation'
Join-Path 'http' 'client' 'structure' 'two-operation-group'
- Join-Path 'http' 'encode' 'datetime'
Join-Path 'http' 'parameters' 'body-optionality'
Join-Path 'http' 'parameters' 'collection-format'
Join-Path 'http' 'parameters' 'spread'
diff --git a/packages/http-client-csharp/generator/Microsoft.Generator.CSharp/src/Properties/launchSettings.json b/packages/http-client-csharp/generator/Microsoft.Generator.CSharp/src/Properties/launchSettings.json
index a891a5de36..7ec1459f56 100644
--- a/packages/http-client-csharp/generator/Microsoft.Generator.CSharp/src/Properties/launchSettings.json
+++ b/packages/http-client-csharp/generator/Microsoft.Generator.CSharp/src/Properties/launchSettings.json
@@ -40,6 +40,11 @@
"commandName": "Executable",
"executablePath": "$(SolutionDir)/../dist/generator/Microsoft.Generator.CSharp.exe"
},
+ "http-encode-datetime": {
+ "commandLineArgs": "$(SolutionDir)/TestProjects/CadlRanch/http/encode/datetime -p StubLibraryPlugin",
+ "commandName": "Executable",
+ "executablePath": "$(SolutionDir)/../dist/generator/Microsoft.Generator.CSharp.exe"
+ },
"http-encode-duration": {
"commandLineArgs": "$(SolutionDir)/TestProjects/CadlRanch/http/encode/duration -p StubLibraryPlugin",
"commandName": "Executable",
diff --git a/packages/http-client-csharp/generator/TestProjects/CadlRanch.Tests/Http/Encode/DateTime/DateTimeTests.cs b/packages/http-client-csharp/generator/TestProjects/CadlRanch.Tests/Http/Encode/DateTime/DateTimeTests.cs
new file mode 100644
index 0000000000..102e966fa9
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/CadlRanch.Tests/Http/Encode/DateTime/DateTimeTests.cs
@@ -0,0 +1,183 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+using System;
+using System.Threading.Tasks;
+using Encode.Datetime;
+using Encode.Datetime.Models;
+using NUnit.Framework;
+
+namespace TestProjects.CadlRanch.Tests.Http.Encode.DateTime
+{
+ public class DateTimeTests : CadlRanchTestBase
+ {
+ [CadlRanchTest]
+ public Task Encode_Datetime_ResponseHeader_default() => Test(async (host) =>
+ {
+ var response = await new DatetimeClient(host, null).GetResponseHeaderClient().DefaultAsync();
+ Assert.AreEqual(204, response.GetRawResponse().Status);
+
+ Assert.IsTrue(response.GetRawResponse().Headers.TryGetValue("value", out string? header));
+ Assert.AreEqual("Fri, 26 Aug 2022 14:38:00 GMT", header);
+ });
+
+ [CadlRanchTest]
+ public Task Encode_Datetime_ResponseHeader_rfc3339() => Test(async (host) =>
+ {
+ var response = await new DatetimeClient(host, null).GetResponseHeaderClient().Rfc3339Async();
+ Assert.AreEqual(204, response.GetRawResponse().Status);
+
+ Assert.IsTrue(response.GetRawResponse().Headers.TryGetValue("value", out string? header));
+ Assert.AreEqual("2022-08-26T18:38:00.000Z", header);
+ });
+
+ [CadlRanchTest]
+ public Task Encode_Datetime_ResponseHeader_rfc7231() => Test(async (host) =>
+ {
+ var response = await new DatetimeClient(host, null).GetResponseHeaderClient().Rfc7231Async();
+ Assert.AreEqual(204, response.GetRawResponse().Status);
+
+ Assert.IsTrue(response.GetRawResponse().Headers.TryGetValue("value", out string? header));
+ Assert.AreEqual("Fri, 26 Aug 2022 14:38:00 GMT", header);
+ });
+
+ [CadlRanchTest]
+ public Task Encode_Datetime_ResponseHeader_unixTimestamp() => Test(async (host) =>
+ {
+ var response = await new DatetimeClient(host, null).GetResponseHeaderClient().UnixTimestampAsync();
+ Assert.AreEqual(204, response.GetRawResponse().Status);
+
+ Assert.IsTrue(response.GetRawResponse().Headers.TryGetValue("value", out string? header));
+ Assert.AreEqual("1686566864", header);
+ });
+
+ [CadlRanchTest]
+ public Task Encode_DateTime_Header_Default() => Test(async (host) =>
+ {
+ DateTimeOffset data = DateTimeOffset.Parse("Fri, 26 Aug 2022 14:38:00 GMT");
+ var response = await new DatetimeClient(host, null).GetHeaderClient().DefaultAsync(data);
+ Assert.AreEqual(204, response.GetRawResponse().Status);
+ });
+
+ [CadlRanchTest]
+ public Task Encode_DateTime_Header_Rfc3339() => Test(async (host) =>
+ {
+ DateTimeOffset data = DateTimeOffset.Parse("2022-08-26T18:38:00.000Z");
+ var response = await new DatetimeClient(host, null).GetHeaderClient().Rfc3339Async(data);
+ Assert.AreEqual(204, response.GetRawResponse().Status);
+ });
+
+ [CadlRanchTest]
+ public Task Encode_DateTime_Header_Rfc7231() => Test(async (host) =>
+ {
+ DateTimeOffset data = DateTimeOffset.Parse("Fri, 26 Aug 2022 14:38:00 GMT");
+ var response = await new DatetimeClient(host, null).GetHeaderClient().Rfc7231Async(data);
+ Assert.AreEqual(204, response.GetRawResponse().Status);
+ });
+
+ [CadlRanchTest]
+ public Task Encode_DateTime_Header_unixTimestamp() => Test(async (host) =>
+ {
+ DateTimeOffset data = DateTimeOffset.FromUnixTimeSeconds(1686566864);
+ var response = await new DatetimeClient(host, null).GetHeaderClient().UnixTimestampAsync(data);
+ Assert.AreEqual(204, response.GetRawResponse().Status);
+ });
+
+ [CadlRanchTest]
+ public Task Encode_DateTime_Header_unixTimestampArray() => Test(async (host) =>
+ {
+ DateTimeOffset data1 = DateTimeOffset.FromUnixTimeSeconds(1686566864);
+ DateTimeOffset data2 = DateTimeOffset.FromUnixTimeSeconds(1686734256);
+ var response = await new DatetimeClient(host, null).GetHeaderClient().UnixTimestampArrayAsync(new[] { data1, data2 });
+ Assert.AreEqual(204, response.GetRawResponse().Status);
+ });
+
+ [CadlRanchTest]
+ public Task Encode_DateTime_Query_Default() => Test(async (host) =>
+ {
+ DateTimeOffset data = DateTimeOffset.Parse("2022-08-26T18:38:00.000Z");
+ var response = await new DatetimeClient(host, null).GetQueryClient().DefaultAsync(data);
+ Assert.AreEqual(204, response.GetRawResponse().Status);
+ });
+
+ [CadlRanchTest]
+ public Task Encode_DateTime_Query_Rfc3339() => Test(async (host) =>
+ {
+ DateTimeOffset data = DateTimeOffset.Parse("2022-08-26T18:38:00.000Z");
+ var response = await new DatetimeClient(host, null).GetQueryClient().Rfc3339Async(data);
+ Assert.AreEqual(204, response.GetRawResponse().Status);
+ });
+
+ [CadlRanchTest]
+ public Task Encode_DateTime_Query_Rfc7231() => Test(async (host) =>
+ {
+ DateTimeOffset data = DateTimeOffset.Parse("Fri, 26 Aug 2022 14:38:00 GMT");
+ var response = await new DatetimeClient(host, null).GetQueryClient().Rfc7231Async(data);
+ Assert.AreEqual(204, response.GetRawResponse().Status);
+ });
+
+ [CadlRanchTest]
+ public Task Encode_DateTime_Query_unixTimestamp() => Test(async (host) =>
+ {
+ DateTimeOffset data = DateTimeOffset.FromUnixTimeSeconds(1686566864);
+ var response = await new DatetimeClient(host, null).GetQueryClient().UnixTimestampAsync(data);
+ Assert.AreEqual(204, response.GetRawResponse().Status);
+ });
+
+ [CadlRanchTest]
+ public Task Encode_DateTime_Query_unixTimestampArray() => Test(async (host) =>
+ {
+ DateTimeOffset data1 = DateTimeOffset.FromUnixTimeSeconds(1686566864);
+ DateTimeOffset data2 = DateTimeOffset.FromUnixTimeSeconds(1686734256);
+ var response = await new DatetimeClient(host, null).GetQueryClient().UnixTimestampArrayAsync(new[] { data1, data2 });
+ Assert.AreEqual(204, response.GetRawResponse().Status);
+ });
+
+ [CadlRanchTest]
+ public Task Encode_DateTime_Property_Default() => Test(async (host) =>
+ {
+ DateTimeOffset data = DateTimeOffset.Parse("2022-08-26T18:38:00.000Z");
+ var body = new DefaultDatetimeProperty(data);
+ var response = await new DatetimeClient(host, null).GetPropertyClient().DefaultAsync(body);
+ Assert.AreEqual(body.Value, response.Value.Value);
+ });
+
+ [CadlRanchTest]
+ public Task Encode_DateTime_Property_Rfc3339() => Test(async (host) =>
+ {
+ DateTimeOffset data = DateTimeOffset.Parse("2022-08-26T18:38:00.000Z");
+ var body = new Rfc3339DatetimeProperty(data);
+ var response = await new DatetimeClient(host, null).GetPropertyClient().Rfc3339Async(body);
+ Assert.AreEqual(body.Value, response.Value.Value);
+ });
+
+ [CadlRanchTest]
+ public Task Encode_DateTime_Property_Rfc7231() => Test(async (host) =>
+ {
+ DateTimeOffset data = DateTimeOffset.Parse("Fri, 26 Aug 2022 14:38:00 GMT");
+ var body = new Rfc7231DatetimeProperty(data);
+ var response = await new DatetimeClient(host, null).GetPropertyClient().Rfc7231Async(body);
+ Assert.AreEqual(body.Value, response.Value.Value);
+ });
+
+
+ [CadlRanchTest]
+ public Task Encode_DateTime_Property_unixTimestamp() => Test(async (host) =>
+ {
+ DateTimeOffset data = DateTimeOffset.FromUnixTimeSeconds(1686566864);
+ var body = new UnixTimestampDatetimeProperty(data);
+ var response = await new DatetimeClient(host, null).GetPropertyClient().UnixTimestampAsync(body);
+ Assert.AreEqual(body.Value, response.Value.Value);
+ });
+
+ [CadlRanchTest]
+ public Task Encode_DateTime_Property_unixTimestampArray() => Test(async (host) =>
+ {
+ DateTimeOffset data1 = DateTimeOffset.FromUnixTimeSeconds(1686566864);
+ DateTimeOffset data2 = DateTimeOffset.FromUnixTimeSeconds(1686734256);
+ var body = new UnixTimestampArrayDatetimeProperty(new[] { data1, data2 });
+ var response = await new DatetimeClient(host, null).GetPropertyClient().UnixTimestampArrayAsync(body);
+ Assert.AreEqual(body.Value, response.Value.Value);
+ });
+ }
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/encode/datetime/Configuration.json b/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/encode/datetime/Configuration.json
new file mode 100644
index 0000000000..79ec8702ee
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/encode/datetime/Configuration.json
@@ -0,0 +1,6 @@
+{
+ "output-folder": ".",
+ "namespace": "Encode.Datetime",
+ "library-name": "Encode.Datetime",
+ "use-model-reader-writer": true
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/encode/datetime/Encode.Datetime.sln b/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/encode/datetime/Encode.Datetime.sln
new file mode 100644
index 0000000000..c592c51b4f
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/encode/datetime/Encode.Datetime.sln
@@ -0,0 +1,48 @@
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 16
+VisualStudioVersion = 16.0.29709.97
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Encode.Datetime", "src\Encode.Datetime.csproj", "{28FF4005-4467-4E36-92E7-DEA27DEB1519}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {B0C276D1-2930-4887-B29A-D1A33E7009A2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {B0C276D1-2930-4887-B29A-D1A33E7009A2}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {B0C276D1-2930-4887-B29A-D1A33E7009A2}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {B0C276D1-2930-4887-B29A-D1A33E7009A2}.Release|Any CPU.Build.0 = Release|Any CPU
+ {8E9A77AC-792A-4432-8320-ACFD46730401}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {8E9A77AC-792A-4432-8320-ACFD46730401}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {8E9A77AC-792A-4432-8320-ACFD46730401}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {8E9A77AC-792A-4432-8320-ACFD46730401}.Release|Any CPU.Build.0 = Release|Any CPU
+ {A4241C1F-A53D-474C-9E4E-075054407E74}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {A4241C1F-A53D-474C-9E4E-075054407E74}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {A4241C1F-A53D-474C-9E4E-075054407E74}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {A4241C1F-A53D-474C-9E4E-075054407E74}.Release|Any CPU.Build.0 = Release|Any CPU
+ {FA8BD3F1-8616-47B6-974C-7576CDF4717E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {FA8BD3F1-8616-47B6-974C-7576CDF4717E}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {FA8BD3F1-8616-47B6-974C-7576CDF4717E}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {FA8BD3F1-8616-47B6-974C-7576CDF4717E}.Release|Any CPU.Build.0 = Release|Any CPU
+ {85677AD3-C214-42FA-AE6E-49B956CAC8DC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {85677AD3-C214-42FA-AE6E-49B956CAC8DC}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {85677AD3-C214-42FA-AE6E-49B956CAC8DC}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {85677AD3-C214-42FA-AE6E-49B956CAC8DC}.Release|Any CPU.Build.0 = Release|Any CPU
+ {28FF4005-4467-4E36-92E7-DEA27DEB1519}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {28FF4005-4467-4E36-92E7-DEA27DEB1519}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {28FF4005-4467-4E36-92E7-DEA27DEB1519}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {28FF4005-4467-4E36-92E7-DEA27DEB1519}.Release|Any CPU.Build.0 = Release|Any CPU
+ {1F1CD1D4-9932-4B73-99D8-C252A67D4B46}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {1F1CD1D4-9932-4B73-99D8-C252A67D4B46}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {1F1CD1D4-9932-4B73-99D8-C252A67D4B46}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {1F1CD1D4-9932-4B73-99D8-C252A67D4B46}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {A97F4B90-2591-4689-B1F8-5F21FE6D6CAE}
+ EndGlobalSection
+EndGlobal
diff --git a/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/encode/datetime/src/Encode.Datetime.csproj b/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/encode/datetime/src/Encode.Datetime.csproj
new file mode 100644
index 0000000000..9624bee8db
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/encode/datetime/src/Encode.Datetime.csproj
@@ -0,0 +1,16 @@
+
+
+ This is the Encode.Datetime client library for developing .NET applications with rich experience.
+ SDK Code Generation Encode.Datetime
+ 1.0.0-beta.1
+ Encode.Datetime
+ netstandard2.0
+ latest
+ true
+
+
+
+
+
+
+
diff --git a/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/encode/datetime/src/Generated/DatetimeClient.cs b/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/encode/datetime/src/Generated/DatetimeClient.cs
new file mode 100644
index 0000000000..6b8a806e7b
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/encode/datetime/src/Generated/DatetimeClient.cs
@@ -0,0 +1,26 @@
+//
+
+#nullable disable
+
+using System;
+using System.ClientModel.Primitives;
+
+namespace Encode.Datetime
+{
+ public partial class DatetimeClient
+ {
+ public DatetimeClient() : this(new Uri("http://localhost:3000"), new DatetimeClientOptions()) => throw null;
+
+ public DatetimeClient(Uri endpoint, DatetimeClientOptions options) => throw null;
+
+ public ClientPipeline Pipeline => throw null;
+
+ public virtual Query GetQueryClient() => throw null;
+
+ public virtual Property GetPropertyClient() => throw null;
+
+ public virtual Header GetHeaderClient() => throw null;
+
+ public virtual ResponseHeader GetResponseHeaderClient() => throw null;
+ }
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/encode/datetime/src/Generated/DatetimeClientOptions.cs b/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/encode/datetime/src/Generated/DatetimeClientOptions.cs
new file mode 100644
index 0000000000..698cb7d64f
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/encode/datetime/src/Generated/DatetimeClientOptions.cs
@@ -0,0 +1,12 @@
+//
+
+#nullable disable
+
+using System.ClientModel.Primitives;
+
+namespace Encode.Datetime
+{
+ public partial class DatetimeClientOptions : ClientPipelineOptions
+ {
+ }
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/encode/datetime/src/Generated/EncodeDatetimeModelFactory.cs b/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/encode/datetime/src/Generated/EncodeDatetimeModelFactory.cs
new file mode 100644
index 0000000000..ffba39013b
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/encode/datetime/src/Generated/EncodeDatetimeModelFactory.cs
@@ -0,0 +1,22 @@
+//
+
+#nullable disable
+
+using System;
+using System.Collections.Generic;
+
+namespace Encode.Datetime.Models
+{
+ public static partial class EncodeDatetimeModelFactory
+ {
+ public static DefaultDatetimeProperty DefaultDatetimeProperty(DateTimeOffset value = default) => throw null;
+
+ public static Rfc3339DatetimeProperty Rfc3339DatetimeProperty(DateTimeOffset value = default) => throw null;
+
+ public static Rfc7231DatetimeProperty Rfc7231DatetimeProperty(DateTimeOffset value = default) => throw null;
+
+ public static UnixTimestampDatetimeProperty UnixTimestampDatetimeProperty(DateTimeOffset value = default) => throw null;
+
+ public static UnixTimestampArrayDatetimeProperty UnixTimestampArrayDatetimeProperty(IEnumerable value = default) => throw null;
+ }
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/encode/datetime/src/Generated/Header.cs b/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/encode/datetime/src/Generated/Header.cs
new file mode 100644
index 0000000000..37dec624d7
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/encode/datetime/src/Generated/Header.cs
@@ -0,0 +1,59 @@
+//
+
+#nullable disable
+
+using System;
+using System.ClientModel;
+using System.ClientModel.Primitives;
+using System.Collections.Generic;
+using System.Threading.Tasks;
+
+namespace Encode.Datetime
+{
+ public partial class Header
+ {
+ protected Header() => throw null;
+
+ public ClientPipeline Pipeline => throw null;
+
+ public virtual ClientResult Default(DateTimeOffset value, RequestOptions options) => throw null;
+
+ public virtual Task DefaultAsync(DateTimeOffset value, RequestOptions options) => throw null;
+
+ public virtual ClientResult Default(DateTimeOffset value) => throw null;
+
+ public virtual Task DefaultAsync(DateTimeOffset value) => throw null;
+
+ public virtual ClientResult Rfc3339(DateTimeOffset value, RequestOptions options) => throw null;
+
+ public virtual Task Rfc3339Async(DateTimeOffset value, RequestOptions options) => throw null;
+
+ public virtual ClientResult Rfc3339(DateTimeOffset value) => throw null;
+
+ public virtual Task Rfc3339Async(DateTimeOffset value) => throw null;
+
+ public virtual ClientResult Rfc7231(DateTimeOffset value, RequestOptions options) => throw null;
+
+ public virtual Task Rfc7231Async(DateTimeOffset value, RequestOptions options) => throw null;
+
+ public virtual ClientResult Rfc7231(DateTimeOffset value) => throw null;
+
+ public virtual Task Rfc7231Async(DateTimeOffset value) => throw null;
+
+ public virtual ClientResult UnixTimestamp(DateTimeOffset value, RequestOptions options) => throw null;
+
+ public virtual Task UnixTimestampAsync(DateTimeOffset value, RequestOptions options) => throw null;
+
+ public virtual ClientResult UnixTimestamp(DateTimeOffset value) => throw null;
+
+ public virtual Task UnixTimestampAsync(DateTimeOffset value) => throw null;
+
+ public virtual ClientResult UnixTimestampArray(IList value, RequestOptions options) => throw null;
+
+ public virtual Task UnixTimestampArrayAsync(IList value, RequestOptions options) => throw null;
+
+ public virtual ClientResult UnixTimestampArray(IList value) => throw null;
+
+ public virtual Task UnixTimestampArrayAsync(IList value) => throw null;
+ }
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/encode/datetime/src/Generated/Models/DefaultDatetimeProperty.Serialization.cs b/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/encode/datetime/src/Generated/Models/DefaultDatetimeProperty.Serialization.cs
new file mode 100644
index 0000000000..1fe9683e1d
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/encode/datetime/src/Generated/Models/DefaultDatetimeProperty.Serialization.cs
@@ -0,0 +1,36 @@
+//
+
+#nullable disable
+
+using System;
+using System.ClientModel;
+using System.ClientModel.Primitives;
+using System.Text.Json;
+
+namespace Encode.Datetime.Models
+{
+ public partial class DefaultDatetimeProperty : IJsonModel
+ {
+ void IJsonModel.Write(Utf8JsonWriter writer, ModelReaderWriterOptions options) => throw null;
+
+ protected virtual void JsonModelWriteCore(Utf8JsonWriter writer, ModelReaderWriterOptions options) => throw null;
+
+ DefaultDatetimeProperty IJsonModel.Create(ref Utf8JsonReader reader, ModelReaderWriterOptions options) => throw null;
+
+ protected virtual DefaultDatetimeProperty JsonModelCreateCore(ref Utf8JsonReader reader, ModelReaderWriterOptions options) => throw null;
+
+ BinaryData IPersistableModel.Write(ModelReaderWriterOptions options) => throw null;
+
+ protected virtual BinaryData PersistableModelWriteCore(ModelReaderWriterOptions options) => throw null;
+
+ DefaultDatetimeProperty IPersistableModel.Create(BinaryData data, ModelReaderWriterOptions options) => throw null;
+
+ protected virtual DefaultDatetimeProperty PersistableModelCreateCore(BinaryData data, ModelReaderWriterOptions options) => throw null;
+
+ string IPersistableModel.GetFormatFromOptions(ModelReaderWriterOptions options) => throw null;
+
+ public static implicit operator BinaryContent(DefaultDatetimeProperty defaultDatetimeProperty) => throw null;
+
+ public static explicit operator DefaultDatetimeProperty(ClientResult result) => throw null;
+ }
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/encode/datetime/src/Generated/Models/DefaultDatetimeProperty.cs b/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/encode/datetime/src/Generated/Models/DefaultDatetimeProperty.cs
new file mode 100644
index 0000000000..9fcf846dc2
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/encode/datetime/src/Generated/Models/DefaultDatetimeProperty.cs
@@ -0,0 +1,20 @@
+//
+
+#nullable disable
+
+using System;
+
+namespace Encode.Datetime.Models
+{
+ public partial class DefaultDatetimeProperty
+ {
+ public DefaultDatetimeProperty(DateTimeOffset value) => throw null;
+
+ public DateTimeOffset Value
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ }
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/encode/datetime/src/Generated/Models/Rfc3339DatetimeProperty.Serialization.cs b/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/encode/datetime/src/Generated/Models/Rfc3339DatetimeProperty.Serialization.cs
new file mode 100644
index 0000000000..ec82204ed1
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/encode/datetime/src/Generated/Models/Rfc3339DatetimeProperty.Serialization.cs
@@ -0,0 +1,36 @@
+//
+
+#nullable disable
+
+using System;
+using System.ClientModel;
+using System.ClientModel.Primitives;
+using System.Text.Json;
+
+namespace Encode.Datetime.Models
+{
+ public partial class Rfc3339DatetimeProperty : IJsonModel
+ {
+ void IJsonModel.Write(Utf8JsonWriter writer, ModelReaderWriterOptions options) => throw null;
+
+ protected virtual void JsonModelWriteCore(Utf8JsonWriter writer, ModelReaderWriterOptions options) => throw null;
+
+ Rfc3339DatetimeProperty IJsonModel.Create(ref Utf8JsonReader reader, ModelReaderWriterOptions options) => throw null;
+
+ protected virtual Rfc3339DatetimeProperty JsonModelCreateCore(ref Utf8JsonReader reader, ModelReaderWriterOptions options) => throw null;
+
+ BinaryData IPersistableModel.Write(ModelReaderWriterOptions options) => throw null;
+
+ protected virtual BinaryData PersistableModelWriteCore(ModelReaderWriterOptions options) => throw null;
+
+ Rfc3339DatetimeProperty IPersistableModel.Create(BinaryData data, ModelReaderWriterOptions options) => throw null;
+
+ protected virtual Rfc3339DatetimeProperty PersistableModelCreateCore(BinaryData data, ModelReaderWriterOptions options) => throw null;
+
+ string IPersistableModel.GetFormatFromOptions(ModelReaderWriterOptions options) => throw null;
+
+ public static implicit operator BinaryContent(Rfc3339DatetimeProperty rfc3339DatetimeProperty) => throw null;
+
+ public static explicit operator Rfc3339DatetimeProperty(ClientResult result) => throw null;
+ }
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/encode/datetime/src/Generated/Models/Rfc3339DatetimeProperty.cs b/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/encode/datetime/src/Generated/Models/Rfc3339DatetimeProperty.cs
new file mode 100644
index 0000000000..a6a08aee9d
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/encode/datetime/src/Generated/Models/Rfc3339DatetimeProperty.cs
@@ -0,0 +1,20 @@
+//
+
+#nullable disable
+
+using System;
+
+namespace Encode.Datetime.Models
+{
+ public partial class Rfc3339DatetimeProperty
+ {
+ public Rfc3339DatetimeProperty(DateTimeOffset value) => throw null;
+
+ public DateTimeOffset Value
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ }
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/encode/datetime/src/Generated/Models/Rfc7231DatetimeProperty.Serialization.cs b/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/encode/datetime/src/Generated/Models/Rfc7231DatetimeProperty.Serialization.cs
new file mode 100644
index 0000000000..fa77171773
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/encode/datetime/src/Generated/Models/Rfc7231DatetimeProperty.Serialization.cs
@@ -0,0 +1,36 @@
+//
+
+#nullable disable
+
+using System;
+using System.ClientModel;
+using System.ClientModel.Primitives;
+using System.Text.Json;
+
+namespace Encode.Datetime.Models
+{
+ public partial class Rfc7231DatetimeProperty : IJsonModel
+ {
+ void IJsonModel.Write(Utf8JsonWriter writer, ModelReaderWriterOptions options) => throw null;
+
+ protected virtual void JsonModelWriteCore(Utf8JsonWriter writer, ModelReaderWriterOptions options) => throw null;
+
+ Rfc7231DatetimeProperty IJsonModel.Create(ref Utf8JsonReader reader, ModelReaderWriterOptions options) => throw null;
+
+ protected virtual Rfc7231DatetimeProperty JsonModelCreateCore(ref Utf8JsonReader reader, ModelReaderWriterOptions options) => throw null;
+
+ BinaryData IPersistableModel.Write(ModelReaderWriterOptions options) => throw null;
+
+ protected virtual BinaryData PersistableModelWriteCore(ModelReaderWriterOptions options) => throw null;
+
+ Rfc7231DatetimeProperty IPersistableModel.Create(BinaryData data, ModelReaderWriterOptions options) => throw null;
+
+ protected virtual Rfc7231DatetimeProperty PersistableModelCreateCore(BinaryData data, ModelReaderWriterOptions options) => throw null;
+
+ string IPersistableModel.GetFormatFromOptions(ModelReaderWriterOptions options) => throw null;
+
+ public static implicit operator BinaryContent(Rfc7231DatetimeProperty rfc7231DatetimeProperty) => throw null;
+
+ public static explicit operator Rfc7231DatetimeProperty(ClientResult result) => throw null;
+ }
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/encode/datetime/src/Generated/Models/Rfc7231DatetimeProperty.cs b/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/encode/datetime/src/Generated/Models/Rfc7231DatetimeProperty.cs
new file mode 100644
index 0000000000..6d862fc4d7
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/encode/datetime/src/Generated/Models/Rfc7231DatetimeProperty.cs
@@ -0,0 +1,20 @@
+//
+
+#nullable disable
+
+using System;
+
+namespace Encode.Datetime.Models
+{
+ public partial class Rfc7231DatetimeProperty
+ {
+ public Rfc7231DatetimeProperty(DateTimeOffset value) => throw null;
+
+ public DateTimeOffset Value
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ }
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/encode/datetime/src/Generated/Models/UnixTimestampArrayDatetimeProperty.Serialization.cs b/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/encode/datetime/src/Generated/Models/UnixTimestampArrayDatetimeProperty.Serialization.cs
new file mode 100644
index 0000000000..e72bb51cd8
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/encode/datetime/src/Generated/Models/UnixTimestampArrayDatetimeProperty.Serialization.cs
@@ -0,0 +1,36 @@
+//
+
+#nullable disable
+
+using System;
+using System.ClientModel;
+using System.ClientModel.Primitives;
+using System.Text.Json;
+
+namespace Encode.Datetime.Models
+{
+ public partial class UnixTimestampArrayDatetimeProperty : IJsonModel
+ {
+ void IJsonModel.Write(Utf8JsonWriter writer, ModelReaderWriterOptions options) => throw null;
+
+ protected virtual void JsonModelWriteCore(Utf8JsonWriter writer, ModelReaderWriterOptions options) => throw null;
+
+ UnixTimestampArrayDatetimeProperty IJsonModel.Create(ref Utf8JsonReader reader, ModelReaderWriterOptions options) => throw null;
+
+ protected virtual UnixTimestampArrayDatetimeProperty JsonModelCreateCore(ref Utf8JsonReader reader, ModelReaderWriterOptions options) => throw null;
+
+ BinaryData IPersistableModel.Write(ModelReaderWriterOptions options) => throw null;
+
+ protected virtual BinaryData PersistableModelWriteCore(ModelReaderWriterOptions options) => throw null;
+
+ UnixTimestampArrayDatetimeProperty IPersistableModel.Create(BinaryData data, ModelReaderWriterOptions options) => throw null;
+
+ protected virtual UnixTimestampArrayDatetimeProperty PersistableModelCreateCore(BinaryData data, ModelReaderWriterOptions options) => throw null;
+
+ string IPersistableModel.GetFormatFromOptions(ModelReaderWriterOptions options) => throw null;
+
+ public static implicit operator BinaryContent(UnixTimestampArrayDatetimeProperty unixTimestampArrayDatetimeProperty) => throw null;
+
+ public static explicit operator UnixTimestampArrayDatetimeProperty(ClientResult result) => throw null;
+ }
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/encode/datetime/src/Generated/Models/UnixTimestampArrayDatetimeProperty.cs b/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/encode/datetime/src/Generated/Models/UnixTimestampArrayDatetimeProperty.cs
new file mode 100644
index 0000000000..28d02dc1f4
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/encode/datetime/src/Generated/Models/UnixTimestampArrayDatetimeProperty.cs
@@ -0,0 +1,16 @@
+//
+
+#nullable disable
+
+using System;
+using System.Collections.Generic;
+
+namespace Encode.Datetime.Models
+{
+ public partial class UnixTimestampArrayDatetimeProperty
+ {
+ public UnixTimestampArrayDatetimeProperty(IEnumerable value) => throw null;
+
+ public IList Value => throw null;
+ }
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/encode/datetime/src/Generated/Models/UnixTimestampDatetimeProperty.Serialization.cs b/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/encode/datetime/src/Generated/Models/UnixTimestampDatetimeProperty.Serialization.cs
new file mode 100644
index 0000000000..95ffdd23a1
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/encode/datetime/src/Generated/Models/UnixTimestampDatetimeProperty.Serialization.cs
@@ -0,0 +1,36 @@
+//
+
+#nullable disable
+
+using System;
+using System.ClientModel;
+using System.ClientModel.Primitives;
+using System.Text.Json;
+
+namespace Encode.Datetime.Models
+{
+ public partial class UnixTimestampDatetimeProperty : IJsonModel
+ {
+ void IJsonModel.Write(Utf8JsonWriter writer, ModelReaderWriterOptions options) => throw null;
+
+ protected virtual void JsonModelWriteCore(Utf8JsonWriter writer, ModelReaderWriterOptions options) => throw null;
+
+ UnixTimestampDatetimeProperty IJsonModel.Create(ref Utf8JsonReader reader, ModelReaderWriterOptions options) => throw null;
+
+ protected virtual UnixTimestampDatetimeProperty JsonModelCreateCore(ref Utf8JsonReader reader, ModelReaderWriterOptions options) => throw null;
+
+ BinaryData IPersistableModel.Write(ModelReaderWriterOptions options) => throw null;
+
+ protected virtual BinaryData PersistableModelWriteCore(ModelReaderWriterOptions options) => throw null;
+
+ UnixTimestampDatetimeProperty IPersistableModel.Create(BinaryData data, ModelReaderWriterOptions options) => throw null;
+
+ protected virtual UnixTimestampDatetimeProperty PersistableModelCreateCore(BinaryData data, ModelReaderWriterOptions options) => throw null;
+
+ string IPersistableModel.GetFormatFromOptions(ModelReaderWriterOptions options) => throw null;
+
+ public static implicit operator BinaryContent(UnixTimestampDatetimeProperty unixTimestampDatetimeProperty) => throw null;
+
+ public static explicit operator UnixTimestampDatetimeProperty(ClientResult result) => throw null;
+ }
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/encode/datetime/src/Generated/Models/UnixTimestampDatetimeProperty.cs b/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/encode/datetime/src/Generated/Models/UnixTimestampDatetimeProperty.cs
new file mode 100644
index 0000000000..76214aa8da
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/encode/datetime/src/Generated/Models/UnixTimestampDatetimeProperty.cs
@@ -0,0 +1,20 @@
+//
+
+#nullable disable
+
+using System;
+
+namespace Encode.Datetime.Models
+{
+ public partial class UnixTimestampDatetimeProperty
+ {
+ public UnixTimestampDatetimeProperty(DateTimeOffset value) => throw null;
+
+ public DateTimeOffset Value
+ {
+ get => throw null;
+ set => throw null;
+ }
+
+ }
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/encode/datetime/src/Generated/Property.cs b/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/encode/datetime/src/Generated/Property.cs
new file mode 100644
index 0000000000..db1e2ec869
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/encode/datetime/src/Generated/Property.cs
@@ -0,0 +1,58 @@
+//
+
+#nullable disable
+
+using System.ClientModel;
+using System.ClientModel.Primitives;
+using System.Threading.Tasks;
+using Encode.Datetime.Models;
+
+namespace Encode.Datetime
+{
+ public partial class Property
+ {
+ protected Property() => throw null;
+
+ public ClientPipeline Pipeline => throw null;
+
+ public virtual ClientResult Default(BinaryContent content, RequestOptions options) => throw null;
+
+ public virtual Task DefaultAsync(BinaryContent content, RequestOptions options) => throw null;
+
+ public virtual ClientResult Default(DefaultDatetimeProperty body) => throw null;
+
+ public virtual Task> DefaultAsync(DefaultDatetimeProperty body) => throw null;
+
+ public virtual ClientResult Rfc3339(BinaryContent content, RequestOptions options) => throw null;
+
+ public virtual Task Rfc3339Async(BinaryContent content, RequestOptions options) => throw null;
+
+ public virtual ClientResult Rfc3339(Rfc3339DatetimeProperty body) => throw null;
+
+ public virtual Task> Rfc3339Async(Rfc3339DatetimeProperty body) => throw null;
+
+ public virtual ClientResult Rfc7231(BinaryContent content, RequestOptions options) => throw null;
+
+ public virtual Task Rfc7231Async(BinaryContent content, RequestOptions options) => throw null;
+
+ public virtual ClientResult Rfc7231(Rfc7231DatetimeProperty body) => throw null;
+
+ public virtual Task> Rfc7231Async(Rfc7231DatetimeProperty body) => throw null;
+
+ public virtual ClientResult UnixTimestamp(BinaryContent content, RequestOptions options) => throw null;
+
+ public virtual Task UnixTimestampAsync(BinaryContent content, RequestOptions options) => throw null;
+
+ public virtual ClientResult UnixTimestamp(UnixTimestampDatetimeProperty body) => throw null;
+
+ public virtual Task> UnixTimestampAsync(UnixTimestampDatetimeProperty body) => throw null;
+
+ public virtual ClientResult UnixTimestampArray(BinaryContent content, RequestOptions options) => throw null;
+
+ public virtual Task UnixTimestampArrayAsync(BinaryContent content, RequestOptions options) => throw null;
+
+ public virtual ClientResult UnixTimestampArray(UnixTimestampArrayDatetimeProperty body) => throw null;
+
+ public virtual Task> UnixTimestampArrayAsync(UnixTimestampArrayDatetimeProperty body) => throw null;
+ }
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/encode/datetime/src/Generated/Query.cs b/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/encode/datetime/src/Generated/Query.cs
new file mode 100644
index 0000000000..15ed336552
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/encode/datetime/src/Generated/Query.cs
@@ -0,0 +1,59 @@
+//
+
+#nullable disable
+
+using System;
+using System.ClientModel;
+using System.ClientModel.Primitives;
+using System.Collections.Generic;
+using System.Threading.Tasks;
+
+namespace Encode.Datetime
+{
+ public partial class Query
+ {
+ protected Query() => throw null;
+
+ public ClientPipeline Pipeline => throw null;
+
+ public virtual ClientResult Default(DateTimeOffset value, RequestOptions options) => throw null;
+
+ public virtual Task DefaultAsync(DateTimeOffset value, RequestOptions options) => throw null;
+
+ public virtual ClientResult Default(DateTimeOffset value) => throw null;
+
+ public virtual Task DefaultAsync(DateTimeOffset value) => throw null;
+
+ public virtual ClientResult Rfc3339(DateTimeOffset value, RequestOptions options) => throw null;
+
+ public virtual Task Rfc3339Async(DateTimeOffset value, RequestOptions options) => throw null;
+
+ public virtual ClientResult Rfc3339(DateTimeOffset value) => throw null;
+
+ public virtual Task Rfc3339Async(DateTimeOffset value) => throw null;
+
+ public virtual ClientResult Rfc7231(DateTimeOffset value, RequestOptions options) => throw null;
+
+ public virtual Task Rfc7231Async(DateTimeOffset value, RequestOptions options) => throw null;
+
+ public virtual ClientResult Rfc7231(DateTimeOffset value) => throw null;
+
+ public virtual Task Rfc7231Async(DateTimeOffset value) => throw null;
+
+ public virtual ClientResult UnixTimestamp(DateTimeOffset value, RequestOptions options) => throw null;
+
+ public virtual Task UnixTimestampAsync(DateTimeOffset value, RequestOptions options) => throw null;
+
+ public virtual ClientResult UnixTimestamp(DateTimeOffset value) => throw null;
+
+ public virtual Task UnixTimestampAsync(DateTimeOffset value) => throw null;
+
+ public virtual ClientResult UnixTimestampArray(IList value, RequestOptions options) => throw null;
+
+ public virtual Task UnixTimestampArrayAsync(IList value, RequestOptions options) => throw null;
+
+ public virtual ClientResult UnixTimestampArray(IList value) => throw null;
+
+ public virtual Task UnixTimestampArrayAsync(IList value) => throw null;
+ }
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/encode/datetime/src/Generated/ResponseHeader.cs b/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/encode/datetime/src/Generated/ResponseHeader.cs
new file mode 100644
index 0000000000..43d148e11f
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/encode/datetime/src/Generated/ResponseHeader.cs
@@ -0,0 +1,49 @@
+//
+
+#nullable disable
+
+using System.ClientModel;
+using System.ClientModel.Primitives;
+using System.Threading.Tasks;
+
+namespace Encode.Datetime
+{
+ public partial class ResponseHeader
+ {
+ protected ResponseHeader() => throw null;
+
+ public ClientPipeline Pipeline => throw null;
+
+ public virtual ClientResult Default(RequestOptions options) => throw null;
+
+ public virtual Task DefaultAsync(RequestOptions options) => throw null;
+
+ public virtual ClientResult Default() => throw null;
+
+ public virtual Task DefaultAsync() => throw null;
+
+ public virtual ClientResult Rfc3339(RequestOptions options) => throw null;
+
+ public virtual Task Rfc3339Async(RequestOptions options) => throw null;
+
+ public virtual ClientResult Rfc3339() => throw null;
+
+ public virtual Task Rfc3339Async() => throw null;
+
+ public virtual ClientResult Rfc7231(RequestOptions options) => throw null;
+
+ public virtual Task Rfc7231Async(RequestOptions options) => throw null;
+
+ public virtual ClientResult Rfc7231() => throw null;
+
+ public virtual Task Rfc7231Async() => throw null;
+
+ public virtual ClientResult UnixTimestamp(RequestOptions options) => throw null;
+
+ public virtual Task UnixTimestampAsync(RequestOptions options) => throw null;
+
+ public virtual ClientResult UnixTimestamp() => throw null;
+
+ public virtual Task UnixTimestampAsync() => throw null;
+ }
+}
diff --git a/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/encode/datetime/tspCodeModel.json b/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/encode/datetime/tspCodeModel.json
new file mode 100644
index 0000000000..475aa977f7
--- /dev/null
+++ b/packages/http-client-csharp/generator/TestProjects/CadlRanch/http/encode/datetime/tspCodeModel.json
@@ -0,0 +1,1805 @@
+{
+ "$id": "1",
+ "Name": "Encode.Datetime",
+ "ApiVersions": [],
+ "Enums": [],
+ "Models": [
+ {
+ "$id": "2",
+ "Kind": "model",
+ "Name": "DefaultDatetimeProperty",
+ "CrossLanguageDefinitionId": "Encode.Datetime.DefaultDatetimeProperty",
+ "Usage": "Input,Output,Json",
+ "Decorators": [],
+ "Properties": [
+ {
+ "$id": "3",
+ "Name": "value",
+ "SerializedName": "value",
+ "Description": "",
+ "Type": {
+ "$id": "4",
+ "Kind": "utcDateTime",
+ "Name": "utcDateTime",
+ "Encode": "rfc3339",
+ "WireType": {
+ "$id": "5",
+ "Kind": "string",
+ "Name": "string",
+ "CrossLanguageDefinitionId": "TypeSpec.string",
+ "Decorators": []
+ },
+ "CrossLanguageDefinitionId": "TypeSpec.utcDateTime",
+ "Decorators": []
+ },
+ "IsRequired": true,
+ "IsReadOnly": false,
+ "Decorators": []
+ }
+ ]
+ },
+ {
+ "$id": "6",
+ "Kind": "model",
+ "Name": "Rfc3339DatetimeProperty",
+ "CrossLanguageDefinitionId": "Encode.Datetime.Rfc3339DatetimeProperty",
+ "Usage": "Input,Output,Json",
+ "Decorators": [],
+ "Properties": [
+ {
+ "$id": "7",
+ "Name": "value",
+ "SerializedName": "value",
+ "Description": "",
+ "Type": {
+ "$id": "8",
+ "Kind": "utcDateTime",
+ "Name": "utcDateTime",
+ "Encode": "rfc3339",
+ "WireType": {
+ "$id": "9",
+ "Kind": "string",
+ "Name": "string",
+ "CrossLanguageDefinitionId": "TypeSpec.string",
+ "Decorators": []
+ },
+ "CrossLanguageDefinitionId": "TypeSpec.utcDateTime",
+ "Decorators": []
+ },
+ "IsRequired": true,
+ "IsReadOnly": false,
+ "Decorators": []
+ }
+ ]
+ },
+ {
+ "$id": "10",
+ "Kind": "model",
+ "Name": "Rfc7231DatetimeProperty",
+ "CrossLanguageDefinitionId": "Encode.Datetime.Rfc7231DatetimeProperty",
+ "Usage": "Input,Output,Json",
+ "Decorators": [],
+ "Properties": [
+ {
+ "$id": "11",
+ "Name": "value",
+ "SerializedName": "value",
+ "Description": "",
+ "Type": {
+ "$id": "12",
+ "Kind": "utcDateTime",
+ "Name": "utcDateTime",
+ "Encode": "rfc7231",
+ "WireType": {
+ "$id": "13",
+ "Kind": "string",
+ "Name": "string",
+ "CrossLanguageDefinitionId": "TypeSpec.string",
+ "Decorators": []
+ },
+ "CrossLanguageDefinitionId": "TypeSpec.utcDateTime",
+ "Decorators": []
+ },
+ "IsRequired": true,
+ "IsReadOnly": false,
+ "Decorators": []
+ }
+ ]
+ },
+ {
+ "$id": "14",
+ "Kind": "model",
+ "Name": "UnixTimestampDatetimeProperty",
+ "CrossLanguageDefinitionId": "Encode.Datetime.UnixTimestampDatetimeProperty",
+ "Usage": "Input,Output,Json",
+ "Decorators": [],
+ "Properties": [
+ {
+ "$id": "15",
+ "Name": "value",
+ "SerializedName": "value",
+ "Description": "",
+ "Type": {
+ "$id": "16",
+ "Kind": "utcDateTime",
+ "Name": "utcDateTime",
+ "Encode": "unixTimestamp",
+ "WireType": {
+ "$id": "17",
+ "Kind": "int64",
+ "Name": "int64",
+ "CrossLanguageDefinitionId": "TypeSpec.int64",
+ "Decorators": []
+ },
+ "CrossLanguageDefinitionId": "TypeSpec.utcDateTime",
+ "Decorators": []
+ },
+ "IsRequired": true,
+ "IsReadOnly": false,
+ "Decorators": []
+ }
+ ]
+ },
+ {
+ "$id": "18",
+ "Kind": "model",
+ "Name": "UnixTimestampArrayDatetimeProperty",
+ "CrossLanguageDefinitionId": "Encode.Datetime.UnixTimestampArrayDatetimeProperty",
+ "Usage": "Input,Output,Json",
+ "Decorators": [],
+ "Properties": [
+ {
+ "$id": "19",
+ "Name": "value",
+ "SerializedName": "value",
+ "Description": "",
+ "Type": {
+ "$id": "20",
+ "Kind": "array",
+ "Name": "Array",
+ "ValueType": {
+ "$id": "21",
+ "Kind": "utcDateTime",
+ "Name": "unixTimestampDatetime",
+ "Encode": "unixTimestamp",
+ "WireType": {
+ "$id": "22",
+ "Kind": "int64",
+ "Name": "int64",
+ "CrossLanguageDefinitionId": "TypeSpec.int64",
+ "Decorators": []
+ },
+ "CrossLanguageDefinitionId": "Encode.Datetime.unixTimestampDatetime",
+ "BaseType": {
+ "$id": "23",
+ "Kind": "utcDateTime",
+ "Name": "utcDateTime",
+ "Encode": "rfc3339",
+ "WireType": {
+ "$id": "24",
+ "Kind": "string",
+ "Name": "string",
+ "CrossLanguageDefinitionId": "TypeSpec.string",
+ "Decorators": []
+ },
+ "CrossLanguageDefinitionId": "TypeSpec.utcDateTime",
+ "Decorators": []
+ },
+ "Decorators": []
+ },
+ "CrossLanguageDefinitionId": "TypeSpec.Array",
+ "Decorators": []
+ },
+ "IsRequired": true,
+ "IsReadOnly": false,
+ "Decorators": []
+ }
+ ]
+ }
+ ],
+ "Clients": [
+ {
+ "$id": "25",
+ "Name": "DatetimeClient",
+ "Description": "Test for encode decorator on datetime.",
+ "Operations": [],
+ "Protocol": {
+ "$id": "26"
+ },
+ "Parameters": [
+ {
+ "$id": "27",
+ "Name": "endpoint",
+ "NameInRequest": "endpoint",
+ "Type": {
+ "$id": "28",
+ "Kind": "url",
+ "Name": "url",
+ "CrossLanguageDefinitionId": "TypeSpec.url"
+ },
+ "Location": "Uri",
+ "IsApiVersion": false,
+ "IsResourceParameter": false,
+ "IsContentType": false,
+ "IsRequired": true,
+ "IsEndpoint": true,
+ "SkipUrlEncoding": false,
+ "Explode": false,
+ "Kind": "Client",
+ "DefaultValue": {
+ "$id": "29",
+ "Type": {
+ "$id": "30",
+ "Kind": "string",
+ "Name": "string",
+ "CrossLanguageDefinitionId": "TypeSpec.string"
+ },
+ "Value": "http://localhost:3000"
+ }
+ }
+ ],
+ "Decorators": []
+ },
+ {
+ "$id": "31",
+ "Name": "Query",
+ "Operations": [
+ {
+ "$id": "32",
+ "Name": "default",
+ "ResourceName": "Query",
+ "Accessibility": "public",
+ "Parameters": [
+ {
+ "$id": "33",
+ "Name": "endpoint",
+ "NameInRequest": "endpoint",
+ "Type": {
+ "$id": "34",
+ "Kind": "url",
+ "Name": "url",
+ "CrossLanguageDefinitionId": "TypeSpec.url"
+ },
+ "Location": "Uri",
+ "IsApiVersion": false,
+ "IsResourceParameter": false,
+ "IsContentType": false,
+ "IsRequired": true,
+ "IsEndpoint": true,
+ "SkipUrlEncoding": false,
+ "Explode": false,
+ "Kind": "Client",
+ "DefaultValue": {
+ "$id": "35",
+ "Type": {
+ "$id": "36",
+ "Kind": "string",
+ "Name": "string",
+ "CrossLanguageDefinitionId": "TypeSpec.string"
+ },
+ "Value": "http://localhost:3000"
+ }
+ },
+ {
+ "$id": "37",
+ "Name": "value",
+ "NameInRequest": "value",
+ "Type": {
+ "$id": "38",
+ "Kind": "utcDateTime",
+ "Name": "utcDateTime",
+ "Encode": "rfc3339",
+ "WireType": {
+ "$id": "39",
+ "Kind": "string",
+ "Name": "string",
+ "CrossLanguageDefinitionId": "TypeSpec.string",
+ "Decorators": []
+ },
+ "CrossLanguageDefinitionId": "TypeSpec.utcDateTime",
+ "Decorators": []
+ },
+ "Location": "Query",
+ "IsApiVersion": false,
+ "IsContentType": false,
+ "IsEndpoint": false,
+ "Explode": false,
+ "IsRequired": true,
+ "Kind": "Method",
+ "Decorators": []
+ }
+ ],
+ "Responses": [
+ {
+ "$id": "40",
+ "StatusCodes": [
+ 204
+ ],
+ "BodyMediaType": "Json",
+ "Headers": [],
+ "IsErrorResponse": false
+ }
+ ],
+ "HttpMethod": "GET",
+ "RequestBodyMediaType": "None",
+ "Uri": "{endpoint}",
+ "Path": "/encode/datetime/query/default",
+ "BufferResponse": true,
+ "GenerateProtocolMethod": true,
+ "GenerateConvenienceMethod": true,
+ "CrossLanguageDefinitionId": "Encode.Datetime.Query.default",
+ "Decorators": []
+ },
+ {
+ "$id": "41",
+ "Name": "rfc3339",
+ "ResourceName": "Query",
+ "Accessibility": "public",
+ "Parameters": [
+ {
+ "$ref": "33"
+ },
+ {
+ "$id": "42",
+ "Name": "value",
+ "NameInRequest": "value",
+ "Type": {
+ "$id": "43",
+ "Kind": "utcDateTime",
+ "Name": "utcDateTime",
+ "Encode": "rfc3339",
+ "WireType": {
+ "$id": "44",
+ "Kind": "string",
+ "Name": "string",
+ "CrossLanguageDefinitionId": "TypeSpec.string",
+ "Decorators": []
+ },
+ "CrossLanguageDefinitionId": "TypeSpec.utcDateTime",
+ "Decorators": []
+ },
+ "Location": "Query",
+ "IsApiVersion": false,
+ "IsContentType": false,
+ "IsEndpoint": false,
+ "Explode": false,
+ "IsRequired": true,
+ "Kind": "Method",
+ "Decorators": []
+ }
+ ],
+ "Responses": [
+ {
+ "$id": "45",
+ "StatusCodes": [
+ 204
+ ],
+ "BodyMediaType": "Json",
+ "Headers": [],
+ "IsErrorResponse": false
+ }
+ ],
+ "HttpMethod": "GET",
+ "RequestBodyMediaType": "None",
+ "Uri": "{endpoint}",
+ "Path": "/encode/datetime/query/rfc3339",
+ "BufferResponse": true,
+ "GenerateProtocolMethod": true,
+ "GenerateConvenienceMethod": true,
+ "CrossLanguageDefinitionId": "Encode.Datetime.Query.rfc3339",
+ "Decorators": []
+ },
+ {
+ "$id": "46",
+ "Name": "rfc7231",
+ "ResourceName": "Query",
+ "Accessibility": "public",
+ "Parameters": [
+ {
+ "$ref": "33"
+ },
+ {
+ "$id": "47",
+ "Name": "value",
+ "NameInRequest": "value",
+ "Type": {
+ "$id": "48",
+ "Kind": "utcDateTime",
+ "Name": "utcDateTime",
+ "Encode": "rfc7231",
+ "WireType": {
+ "$id": "49",
+ "Kind": "string",
+ "Name": "string",
+ "CrossLanguageDefinitionId": "TypeSpec.string",
+ "Decorators": []
+ },
+ "CrossLanguageDefinitionId": "TypeSpec.utcDateTime",
+ "Decorators": []
+ },
+ "Location": "Query",
+ "IsApiVersion": false,
+ "IsContentType": false,
+ "IsEndpoint": false,
+ "Explode": false,
+ "IsRequired": true,
+ "Kind": "Method",
+ "Decorators": []
+ }
+ ],
+ "Responses": [
+ {
+ "$id": "50",
+ "StatusCodes": [
+ 204
+ ],
+ "BodyMediaType": "Json",
+ "Headers": [],
+ "IsErrorResponse": false
+ }
+ ],
+ "HttpMethod": "GET",
+ "RequestBodyMediaType": "None",
+ "Uri": "{endpoint}",
+ "Path": "/encode/datetime/query/rfc7231",
+ "BufferResponse": true,
+ "GenerateProtocolMethod": true,
+ "GenerateConvenienceMethod": true,
+ "CrossLanguageDefinitionId": "Encode.Datetime.Query.rfc7231",
+ "Decorators": []
+ },
+ {
+ "$id": "51",
+ "Name": "unixTimestamp",
+ "ResourceName": "Query",
+ "Accessibility": "public",
+ "Parameters": [
+ {
+ "$ref": "33"
+ },
+ {
+ "$id": "52",
+ "Name": "value",
+ "NameInRequest": "value",
+ "Type": {
+ "$id": "53",
+ "Kind": "utcDateTime",
+ "Name": "utcDateTime",
+ "Encode": "unixTimestamp",
+ "WireType": {
+ "$id": "54",
+ "Kind": "int64",
+ "Name": "int64",
+ "CrossLanguageDefinitionId": "TypeSpec.int64",
+ "Decorators": []
+ },
+ "CrossLanguageDefinitionId": "TypeSpec.utcDateTime",
+ "Decorators": []
+ },
+ "Location": "Query",
+ "IsApiVersion": false,
+ "IsContentType": false,
+ "IsEndpoint": false,
+ "Explode": false,
+ "IsRequired": true,
+ "Kind": "Method",
+ "Decorators": []
+ }
+ ],
+ "Responses": [
+ {
+ "$id": "55",
+ "StatusCodes": [
+ 204
+ ],
+ "BodyMediaType": "Json",
+ "Headers": [],
+ "IsErrorResponse": false
+ }
+ ],
+ "HttpMethod": "GET",
+ "RequestBodyMediaType": "None",
+ "Uri": "{endpoint}",
+ "Path": "/encode/datetime/query/unix-timestamp",
+ "BufferResponse": true,
+ "GenerateProtocolMethod": true,
+ "GenerateConvenienceMethod": true,
+ "CrossLanguageDefinitionId": "Encode.Datetime.Query.unixTimestamp",
+ "Decorators": []
+ },
+ {
+ "$id": "56",
+ "Name": "unixTimestampArray",
+ "ResourceName": "Query",
+ "Accessibility": "public",
+ "Parameters": [
+ {
+ "$ref": "33"
+ },
+ {
+ "$id": "57",
+ "Name": "value",
+ "NameInRequest": "value",
+ "Type": {
+ "$id": "58",
+ "Kind": "array",
+ "Name": "Array",
+ "ValueType": {
+ "$id": "59",
+ "Kind": "utcDateTime",
+ "Name": "unixTimestampDatetime",
+ "Encode": "unixTimestamp",
+ "WireType": {
+ "$id": "60",
+ "Kind": "int64",
+ "Name": "int64",
+ "CrossLanguageDefinitionId": "TypeSpec.int64",
+ "Decorators": []
+ },
+ "CrossLanguageDefinitionId": "Encode.Datetime.unixTimestampDatetime",
+ "BaseType": {
+ "$id": "61",
+ "Kind": "utcDateTime",
+ "Name": "utcDateTime",
+ "Encode": "rfc3339",
+ "WireType": {
+ "$id": "62",
+ "Kind": "string",
+ "Name": "string",
+ "CrossLanguageDefinitionId": "TypeSpec.string",
+ "Decorators": []
+ },
+ "CrossLanguageDefinitionId": "TypeSpec.utcDateTime",
+ "Decorators": []
+ },
+ "Decorators": []
+ },
+ "CrossLanguageDefinitionId": "TypeSpec.Array",
+ "Decorators": []
+ },
+ "Location": "Query",
+ "IsApiVersion": false,
+ "IsContentType": false,
+ "IsEndpoint": false,
+ "Explode": false,
+ "ArraySerializationDelimiter": ",",
+ "IsRequired": true,
+ "Kind": "Method",
+ "Decorators": []
+ }
+ ],
+ "Responses": [
+ {
+ "$id": "63",
+ "StatusCodes": [
+ 204
+ ],
+ "BodyMediaType": "Json",
+ "Headers": [],
+ "IsErrorResponse": false
+ }
+ ],
+ "HttpMethod": "GET",
+ "RequestBodyMediaType": "None",
+ "Uri": "{endpoint}",
+ "Path": "/encode/datetime/query/unix-timestamp-array",
+ "BufferResponse": true,
+ "GenerateProtocolMethod": true,
+ "GenerateConvenienceMethod": true,
+ "CrossLanguageDefinitionId": "Encode.Datetime.Query.unixTimestampArray",
+ "Decorators": []
+ }
+ ],
+ "Protocol": {
+ "$id": "64"
+ },
+ "Parent": "DatetimeClient",
+ "Parameters": [
+ {
+ "$ref": "33"
+ }
+ ],
+ "Decorators": []
+ },
+ {
+ "$id": "65",
+ "Name": "Property",
+ "Operations": [
+ {
+ "$id": "66",
+ "Name": "default",
+ "ResourceName": "Property",
+ "Accessibility": "public",
+ "Parameters": [
+ {
+ "$id": "67",
+ "Name": "endpoint",
+ "NameInRequest": "endpoint",
+ "Type": {
+ "$id": "68",
+ "Kind": "url",
+ "Name": "url",
+ "CrossLanguageDefinitionId": "TypeSpec.url"
+ },
+ "Location": "Uri",
+ "IsApiVersion": false,
+ "IsResourceParameter": false,
+ "IsContentType": false,
+ "IsRequired": true,
+ "IsEndpoint": true,
+ "SkipUrlEncoding": false,
+ "Explode": false,
+ "Kind": "Client",
+ "DefaultValue": {
+ "$id": "69",
+ "Type": {
+ "$id": "70",
+ "Kind": "string",
+ "Name": "string",
+ "CrossLanguageDefinitionId": "TypeSpec.string"
+ },
+ "Value": "http://localhost:3000"
+ }
+ },
+ {
+ "$id": "71",
+ "Name": "contentType",
+ "NameInRequest": "Content-Type",
+ "Description": "Body parameter's content type. Known values are application/json",
+ "Type": {
+ "$id": "72",
+ "Kind": "constant",
+ "ValueType": {
+ "$id": "73",
+ "Kind": "string",
+ "Name": "string",
+ "CrossLanguageDefinitionId": "TypeSpec.string",
+ "Decorators": []
+ },
+ "Value": "application/json",
+ "Decorators": []
+ },
+ "Location": "Header",
+ "IsApiVersion": false,
+ "IsContentType": true,
+ "IsEndpoint": false,
+ "Explode": false,
+ "IsRequired": true,
+ "Kind": "Constant",
+ "Decorators": []
+ },
+ {
+ "$id": "74",
+ "Name": "accept",
+ "NameInRequest": "Accept",
+ "Type": {
+ "$id": "75",
+ "Kind": "constant",
+ "ValueType": {
+ "$id": "76",
+ "Kind": "string",
+ "Name": "string",
+ "CrossLanguageDefinitionId": "TypeSpec.string",
+ "Decorators": []
+ },
+ "Value": "application/json",
+ "Decorators": []
+ },
+ "Location": "Header",
+ "IsApiVersion": false,
+ "IsContentType": false,
+ "IsEndpoint": false,
+ "Explode": false,
+ "IsRequired": true,
+ "Kind": "Constant",
+ "Decorators": []
+ },
+ {
+ "$id": "77",
+ "Name": "body",
+ "NameInRequest": "body",
+ "Type": {
+ "$ref": "2"
+ },
+ "Location": "Body",
+ "IsApiVersion": false,
+ "IsContentType": false,
+ "IsEndpoint": false,
+ "Explode": false,
+ "IsRequired": true,
+ "Kind": "Method",
+ "Decorators": []
+ }
+ ],
+ "Responses": [
+ {
+ "$id": "78",
+ "StatusCodes": [
+ 200
+ ],
+ "BodyType": {
+ "$ref": "2"
+ },
+ "BodyMediaType": "Json",
+ "Headers": [],
+ "IsErrorResponse": false,
+ "ContentTypes": [
+ "application/json"
+ ]
+ }
+ ],
+ "HttpMethod": "POST",
+ "RequestBodyMediaType": "Json",
+ "Uri": "{endpoint}",
+ "Path": "/encode/datetime/property/default",
+ "RequestMediaTypes": [
+ "application/json"
+ ],
+ "BufferResponse": true,
+ "GenerateProtocolMethod": true,
+ "GenerateConvenienceMethod": true,
+ "CrossLanguageDefinitionId": "Encode.Datetime.Property.default",
+ "Decorators": []
+ },
+ {
+ "$id": "79",
+ "Name": "rfc3339",
+ "ResourceName": "Property",
+ "Accessibility": "public",
+ "Parameters": [
+ {
+ "$ref": "67"
+ },
+ {
+ "$id": "80",
+ "Name": "contentType",
+ "NameInRequest": "Content-Type",
+ "Description": "Body parameter's content type. Known values are application/json",
+ "Type": {
+ "$id": "81",
+ "Kind": "constant",
+ "ValueType": {
+ "$id": "82",
+ "Kind": "string",
+ "Name": "string",
+ "CrossLanguageDefinitionId": "TypeSpec.string",
+ "Decorators": []
+ },
+ "Value": "application/json",
+ "Decorators": []
+ },
+ "Location": "Header",
+ "IsApiVersion": false,
+ "IsContentType": true,
+ "IsEndpoint": false,
+ "Explode": false,
+ "IsRequired": true,
+ "Kind": "Constant",
+ "Decorators": []
+ },
+ {
+ "$id": "83",
+ "Name": "accept",
+ "NameInRequest": "Accept",
+ "Type": {
+ "$id": "84",
+ "Kind": "constant",
+ "ValueType": {
+ "$id": "85",
+ "Kind": "string",
+ "Name": "string",
+ "CrossLanguageDefinitionId": "TypeSpec.string",
+ "Decorators": []
+ },
+ "Value": "application/json",
+ "Decorators": []
+ },
+ "Location": "Header",
+ "IsApiVersion": false,
+ "IsContentType": false,
+ "IsEndpoint": false,
+ "Explode": false,
+ "IsRequired": true,
+ "Kind": "Constant",
+ "Decorators": []
+ },
+ {
+ "$id": "86",
+ "Name": "body",
+ "NameInRequest": "body",
+ "Type": {
+ "$ref": "6"
+ },
+ "Location": "Body",
+ "IsApiVersion": false,
+ "IsContentType": false,
+ "IsEndpoint": false,
+ "Explode": false,
+ "IsRequired": true,
+ "Kind": "Method",
+ "Decorators": []
+ }
+ ],
+ "Responses": [
+ {
+ "$id": "87",
+ "StatusCodes": [
+ 200
+ ],
+ "BodyType": {
+ "$ref": "6"
+ },
+ "BodyMediaType": "Json",
+ "Headers": [],
+ "IsErrorResponse": false,
+ "ContentTypes": [
+ "application/json"
+ ]
+ }
+ ],
+ "HttpMethod": "POST",
+ "RequestBodyMediaType": "Json",
+ "Uri": "{endpoint}",
+ "Path": "/encode/datetime/property/rfc3339",
+ "RequestMediaTypes": [
+ "application/json"
+ ],
+ "BufferResponse": true,
+ "GenerateProtocolMethod": true,
+ "GenerateConvenienceMethod": true,
+ "CrossLanguageDefinitionId": "Encode.Datetime.Property.rfc3339",
+ "Decorators": []
+ },
+ {
+ "$id": "88",
+ "Name": "rfc7231",
+ "ResourceName": "Property",
+ "Accessibility": "public",
+ "Parameters": [
+ {
+ "$ref": "67"
+ },
+ {
+ "$id": "89",
+ "Name": "contentType",
+ "NameInRequest": "Content-Type",
+ "Description": "Body parameter's content type. Known values are application/json",
+ "Type": {
+ "$id": "90",
+ "Kind": "constant",
+ "ValueType": {
+ "$id": "91",
+ "Kind": "string",
+ "Name": "string",
+ "CrossLanguageDefinitionId": "TypeSpec.string",
+ "Decorators": []
+ },
+ "Value": "application/json",
+ "Decorators": []
+ },
+ "Location": "Header",
+ "IsApiVersion": false,
+ "IsContentType": true,
+ "IsEndpoint": false,
+ "Explode": false,
+ "IsRequired": true,
+ "Kind": "Constant",
+ "Decorators": []
+ },
+ {
+ "$id": "92",
+ "Name": "accept",
+ "NameInRequest": "Accept",
+ "Type": {
+ "$id": "93",
+ "Kind": "constant",
+ "ValueType": {
+ "$id": "94",
+ "Kind": "string",
+ "Name": "string",
+ "CrossLanguageDefinitionId": "TypeSpec.string",
+ "Decorators": []
+ },
+ "Value": "application/json",
+ "Decorators": []
+ },
+ "Location": "Header",
+ "IsApiVersion": false,
+ "IsContentType": false,
+ "IsEndpoint": false,
+ "Explode": false,
+ "IsRequired": true,
+ "Kind": "Constant",
+ "Decorators": []
+ },
+ {
+ "$id": "95",
+ "Name": "body",
+ "NameInRequest": "body",
+ "Type": {
+ "$ref": "10"
+ },
+ "Location": "Body",
+ "IsApiVersion": false,
+ "IsContentType": false,
+ "IsEndpoint": false,
+ "Explode": false,
+ "IsRequired": true,
+ "Kind": "Method",
+ "Decorators": []
+ }
+ ],
+ "Responses": [
+ {
+ "$id": "96",
+ "StatusCodes": [
+ 200
+ ],
+ "BodyType": {
+ "$ref": "10"
+ },
+ "BodyMediaType": "Json",
+ "Headers": [],
+ "IsErrorResponse": false,
+ "ContentTypes": [
+ "application/json"
+ ]
+ }
+ ],
+ "HttpMethod": "POST",
+ "RequestBodyMediaType": "Json",
+ "Uri": "{endpoint}",
+ "Path": "/encode/datetime/property/rfc7231",
+ "RequestMediaTypes": [
+ "application/json"
+ ],
+ "BufferResponse": true,
+ "GenerateProtocolMethod": true,
+ "GenerateConvenienceMethod": true,
+ "CrossLanguageDefinitionId": "Encode.Datetime.Property.rfc7231",
+ "Decorators": []
+ },
+ {
+ "$id": "97",
+ "Name": "unixTimestamp",
+ "ResourceName": "Property",
+ "Accessibility": "public",
+ "Parameters": [
+ {
+ "$ref": "67"
+ },
+ {
+ "$id": "98",
+ "Name": "contentType",
+ "NameInRequest": "Content-Type",
+ "Description": "Body parameter's content type. Known values are application/json",
+ "Type": {
+ "$id": "99",
+ "Kind": "constant",
+ "ValueType": {
+ "$id": "100",
+ "Kind": "string",
+ "Name": "string",
+ "CrossLanguageDefinitionId": "TypeSpec.string",
+ "Decorators": []
+ },
+ "Value": "application/json",
+ "Decorators": []
+ },
+ "Location": "Header",
+ "IsApiVersion": false,
+ "IsContentType": true,
+ "IsEndpoint": false,
+ "Explode": false,
+ "IsRequired": true,
+ "Kind": "Constant",
+ "Decorators": []
+ },
+ {
+ "$id": "101",
+ "Name": "accept",
+ "NameInRequest": "Accept",
+ "Type": {
+ "$id": "102",
+ "Kind": "constant",
+ "ValueType": {
+ "$id": "103",
+ "Kind": "string",
+ "Name": "string",
+ "CrossLanguageDefinitionId": "TypeSpec.string",
+ "Decorators": []
+ },
+ "Value": "application/json",
+ "Decorators": []
+ },
+ "Location": "Header",
+ "IsApiVersion": false,
+ "IsContentType": false,
+ "IsEndpoint": false,
+ "Explode": false,
+ "IsRequired": true,
+ "Kind": "Constant",
+ "Decorators": []
+ },
+ {
+ "$id": "104",
+ "Name": "body",
+ "NameInRequest": "body",
+ "Type": {
+ "$ref": "14"
+ },
+ "Location": "Body",
+ "IsApiVersion": false,
+ "IsContentType": false,
+ "IsEndpoint": false,
+ "Explode": false,
+ "IsRequired": true,
+ "Kind": "Method",
+ "Decorators": []
+ }
+ ],
+ "Responses": [
+ {
+ "$id": "105",
+ "StatusCodes": [
+ 200
+ ],
+ "BodyType": {
+ "$ref": "14"
+ },
+ "BodyMediaType": "Json",
+ "Headers": [],
+ "IsErrorResponse": false,
+ "ContentTypes": [
+ "application/json"
+ ]
+ }
+ ],
+ "HttpMethod": "POST",
+ "RequestBodyMediaType": "Json",
+ "Uri": "{endpoint}",
+ "Path": "/encode/datetime/property/unix-timestamp",
+ "RequestMediaTypes": [
+ "application/json"
+ ],
+ "BufferResponse": true,
+ "GenerateProtocolMethod": true,
+ "GenerateConvenienceMethod": true,
+ "CrossLanguageDefinitionId": "Encode.Datetime.Property.unixTimestamp",
+ "Decorators": []
+ },
+ {
+ "$id": "106",
+ "Name": "unixTimestampArray",
+ "ResourceName": "Property",
+ "Accessibility": "public",
+ "Parameters": [
+ {
+ "$ref": "67"
+ },
+ {
+ "$id": "107",
+ "Name": "contentType",
+ "NameInRequest": "Content-Type",
+ "Description": "Body parameter's content type. Known values are application/json",
+ "Type": {
+ "$id": "108",
+ "Kind": "constant",
+ "ValueType": {
+ "$id": "109",
+ "Kind": "string",
+ "Name": "string",
+ "CrossLanguageDefinitionId": "TypeSpec.string",
+ "Decorators": []
+ },
+ "Value": "application/json",
+ "Decorators": []
+ },
+ "Location": "Header",
+ "IsApiVersion": false,
+ "IsContentType": true,
+ "IsEndpoint": false,
+ "Explode": false,
+ "IsRequired": true,
+ "Kind": "Constant",
+ "Decorators": []
+ },
+ {
+ "$id": "110",
+ "Name": "accept",
+ "NameInRequest": "Accept",
+ "Type": {
+ "$id": "111",
+ "Kind": "constant",
+ "ValueType": {
+ "$id": "112",
+ "Kind": "string",
+ "Name": "string",
+ "CrossLanguageDefinitionId": "TypeSpec.string",
+ "Decorators": []
+ },
+ "Value": "application/json",
+ "Decorators": []
+ },
+ "Location": "Header",
+ "IsApiVersion": false,
+ "IsContentType": false,
+ "IsEndpoint": false,
+ "Explode": false,
+ "IsRequired": true,
+ "Kind": "Constant",
+ "Decorators": []
+ },
+ {
+ "$id": "113",
+ "Name": "body",
+ "NameInRequest": "body",
+ "Type": {
+ "$ref": "18"
+ },
+ "Location": "Body",
+ "IsApiVersion": false,
+ "IsContentType": false,
+ "IsEndpoint": false,
+ "Explode": false,
+ "IsRequired": true,
+ "Kind": "Method",
+ "Decorators": []
+ }
+ ],
+ "Responses": [
+ {
+ "$id": "114",
+ "StatusCodes": [
+ 200
+ ],
+ "BodyType": {
+ "$ref": "18"
+ },
+ "BodyMediaType": "Json",
+ "Headers": [],
+ "IsErrorResponse": false,
+ "ContentTypes": [
+ "application/json"
+ ]
+ }
+ ],
+ "HttpMethod": "POST",
+ "RequestBodyMediaType": "Json",
+ "Uri": "{endpoint}",
+ "Path": "/encode/datetime/property/unix-timestamp-array",
+ "RequestMediaTypes": [
+ "application/json"
+ ],
+ "BufferResponse": true,
+ "GenerateProtocolMethod": true,
+ "GenerateConvenienceMethod": true,
+ "CrossLanguageDefinitionId": "Encode.Datetime.Property.unixTimestampArray",
+ "Decorators": []
+ }
+ ],
+ "Protocol": {
+ "$id": "115"
+ },
+ "Parent": "DatetimeClient",
+ "Parameters": [
+ {
+ "$ref": "67"
+ }
+ ],
+ "Decorators": []
+ },
+ {
+ "$id": "116",
+ "Name": "Header",
+ "Operations": [
+ {
+ "$id": "117",
+ "Name": "default",
+ "ResourceName": "Header",
+ "Accessibility": "public",
+ "Parameters": [
+ {
+ "$id": "118",
+ "Name": "endpoint",
+ "NameInRequest": "endpoint",
+ "Type": {
+ "$id": "119",
+ "Kind": "url",
+ "Name": "url",
+ "CrossLanguageDefinitionId": "TypeSpec.url"
+ },
+ "Location": "Uri",
+ "IsApiVersion": false,
+ "IsResourceParameter": false,
+ "IsContentType": false,
+ "IsRequired": true,
+ "IsEndpoint": true,
+ "SkipUrlEncoding": false,
+ "Explode": false,
+ "Kind": "Client",
+ "DefaultValue": {
+ "$id": "120",
+ "Type": {
+ "$id": "121",
+ "Kind": "string",
+ "Name": "string",
+ "CrossLanguageDefinitionId": "TypeSpec.string"
+ },
+ "Value": "http://localhost:3000"
+ }
+ },
+ {
+ "$id": "122",
+ "Name": "value",
+ "NameInRequest": "value",
+ "Type": {
+ "$id": "123",
+ "Kind": "utcDateTime",
+ "Name": "utcDateTime",
+ "Encode": "rfc7231",
+ "WireType": {
+ "$id": "124",
+ "Kind": "string",
+ "Name": "string",
+ "CrossLanguageDefinitionId": "TypeSpec.string",
+ "Decorators": []
+ },
+ "CrossLanguageDefinitionId": "TypeSpec.utcDateTime",
+ "Decorators": []
+ },
+ "Location": "Header",
+ "IsApiVersion": false,
+ "IsContentType": false,
+ "IsEndpoint": false,
+ "Explode": false,
+ "IsRequired": true,
+ "Kind": "Method",
+ "Decorators": []
+ }
+ ],
+ "Responses": [
+ {
+ "$id": "125",
+ "StatusCodes": [
+ 204
+ ],
+ "BodyMediaType": "Json",
+ "Headers": [],
+ "IsErrorResponse": false
+ }
+ ],
+ "HttpMethod": "GET",
+ "RequestBodyMediaType": "None",
+ "Uri": "{endpoint}",
+ "Path": "/encode/datetime/header/default",
+ "BufferResponse": true,
+ "GenerateProtocolMethod": true,
+ "GenerateConvenienceMethod": true,
+ "CrossLanguageDefinitionId": "Encode.Datetime.Header.default",
+ "Decorators": []
+ },
+ {
+ "$id": "126",
+ "Name": "rfc3339",
+ "ResourceName": "Header",
+ "Accessibility": "public",
+ "Parameters": [
+ {
+ "$ref": "118"
+ },
+ {
+ "$id": "127",
+ "Name": "value",
+ "NameInRequest": "value",
+ "Type": {
+ "$id": "128",
+ "Kind": "utcDateTime",
+ "Name": "utcDateTime",
+ "Encode": "rfc3339",
+ "WireType": {
+ "$id": "129",
+ "Kind": "string",
+ "Name": "string",
+ "CrossLanguageDefinitionId": "TypeSpec.string",
+ "Decorators": []
+ },
+ "CrossLanguageDefinitionId": "TypeSpec.utcDateTime",
+ "Decorators": []
+ },
+ "Location": "Header",
+ "IsApiVersion": false,
+ "IsContentType": false,
+ "IsEndpoint": false,
+ "Explode": false,
+ "IsRequired": true,
+ "Kind": "Method",
+ "Decorators": []
+ }
+ ],
+ "Responses": [
+ {
+ "$id": "130",
+ "StatusCodes": [
+ 204
+ ],
+ "BodyMediaType": "Json",
+ "Headers": [],
+ "IsErrorResponse": false
+ }
+ ],
+ "HttpMethod": "GET",
+ "RequestBodyMediaType": "None",
+ "Uri": "{endpoint}",
+ "Path": "/encode/datetime/header/rfc3339",
+ "BufferResponse": true,
+ "GenerateProtocolMethod": true,
+ "GenerateConvenienceMethod": true,
+ "CrossLanguageDefinitionId": "Encode.Datetime.Header.rfc3339",
+ "Decorators": []
+ },
+ {
+ "$id": "131",
+ "Name": "rfc7231",
+ "ResourceName": "Header",
+ "Accessibility": "public",
+ "Parameters": [
+ {
+ "$ref": "118"
+ },
+ {
+ "$id": "132",
+ "Name": "value",
+ "NameInRequest": "value",
+ "Type": {
+ "$id": "133",
+ "Kind": "utcDateTime",
+ "Name": "utcDateTime",
+ "Encode": "rfc7231",
+ "WireType": {
+ "$id": "134",
+ "Kind": "string",
+ "Name": "string",
+ "CrossLanguageDefinitionId": "TypeSpec.string",
+ "Decorators": []
+ },
+ "CrossLanguageDefinitionId": "TypeSpec.utcDateTime",
+ "Decorators": []
+ },
+ "Location": "Header",
+ "IsApiVersion": false,
+ "IsContentType": false,
+ "IsEndpoint": false,
+ "Explode": false,
+ "IsRequired": true,
+ "Kind": "Method",
+ "Decorators": []
+ }
+ ],
+ "Responses": [
+ {
+ "$id": "135",
+ "StatusCodes": [
+ 204
+ ],
+ "BodyMediaType": "Json",
+ "Headers": [],
+ "IsErrorResponse": false
+ }
+ ],
+ "HttpMethod": "GET",
+ "RequestBodyMediaType": "None",
+ "Uri": "{endpoint}",
+ "Path": "/encode/datetime/header/rfc7231",
+ "BufferResponse": true,
+ "GenerateProtocolMethod": true,
+ "GenerateConvenienceMethod": true,
+ "CrossLanguageDefinitionId": "Encode.Datetime.Header.rfc7231",
+ "Decorators": []
+ },
+ {
+ "$id": "136",
+ "Name": "unixTimestamp",
+ "ResourceName": "Header",
+ "Accessibility": "public",
+ "Parameters": [
+ {
+ "$ref": "118"
+ },
+ {
+ "$id": "137",
+ "Name": "value",
+ "NameInRequest": "value",
+ "Type": {
+ "$id": "138",
+ "Kind": "utcDateTime",
+ "Name": "utcDateTime",
+ "Encode": "unixTimestamp",
+ "WireType": {
+ "$id": "139",
+ "Kind": "int64",
+ "Name": "int64",
+ "CrossLanguageDefinitionId": "TypeSpec.int64",
+ "Decorators": []
+ },
+ "CrossLanguageDefinitionId": "TypeSpec.utcDateTime",
+ "Decorators": []
+ },
+ "Location": "Header",
+ "IsApiVersion": false,
+ "IsContentType": false,
+ "IsEndpoint": false,
+ "Explode": false,
+ "IsRequired": true,
+ "Kind": "Method",
+ "Decorators": []
+ }
+ ],
+ "Responses": [
+ {
+ "$id": "140",
+ "StatusCodes": [
+ 204
+ ],
+ "BodyMediaType": "Json",
+ "Headers": [],
+ "IsErrorResponse": false
+ }
+ ],
+ "HttpMethod": "GET",
+ "RequestBodyMediaType": "None",
+ "Uri": "{endpoint}",
+ "Path": "/encode/datetime/header/unix-timestamp",
+ "BufferResponse": true,
+ "GenerateProtocolMethod": true,
+ "GenerateConvenienceMethod": true,
+ "CrossLanguageDefinitionId": "Encode.Datetime.Header.unixTimestamp",
+ "Decorators": []
+ },
+ {
+ "$id": "141",
+ "Name": "unixTimestampArray",
+ "ResourceName": "Header",
+ "Accessibility": "public",
+ "Parameters": [
+ {
+ "$ref": "118"
+ },
+ {
+ "$id": "142",
+ "Name": "value",
+ "NameInRequest": "value",
+ "Type": {
+ "$id": "143",
+ "Kind": "array",
+ "Name": "Array",
+ "ValueType": {
+ "$id": "144",
+ "Kind": "utcDateTime",
+ "Name": "unixTimestampDatetime",
+ "Encode": "unixTimestamp",
+ "WireType": {
+ "$id": "145",
+ "Kind": "int64",
+ "Name": "int64",
+ "CrossLanguageDefinitionId": "TypeSpec.int64",
+ "Decorators": []
+ },
+ "CrossLanguageDefinitionId": "Encode.Datetime.unixTimestampDatetime",
+ "BaseType": {
+ "$id": "146",
+ "Kind": "utcDateTime",
+ "Name": "utcDateTime",
+ "Encode": "rfc3339",
+ "WireType": {
+ "$id": "147",
+ "Kind": "string",
+ "Name": "string",
+ "CrossLanguageDefinitionId": "TypeSpec.string",
+ "Decorators": []
+ },
+ "CrossLanguageDefinitionId": "TypeSpec.utcDateTime",
+ "Decorators": []
+ },
+ "Decorators": []
+ },
+ "CrossLanguageDefinitionId": "TypeSpec.Array",
+ "Decorators": []
+ },
+ "Location": "Header",
+ "IsApiVersion": false,
+ "IsContentType": false,
+ "IsEndpoint": false,
+ "Explode": false,
+ "ArraySerializationDelimiter": ",",
+ "IsRequired": true,
+ "Kind": "Method",
+ "Decorators": []
+ }
+ ],
+ "Responses": [
+ {
+ "$id": "148",
+ "StatusCodes": [
+ 204
+ ],
+ "BodyMediaType": "Json",
+ "Headers": [],
+ "IsErrorResponse": false
+ }
+ ],
+ "HttpMethod": "GET",
+ "RequestBodyMediaType": "None",
+ "Uri": "{endpoint}",
+ "Path": "/encode/datetime/header/unix-timestamp-array",
+ "BufferResponse": true,
+ "GenerateProtocolMethod": true,
+ "GenerateConvenienceMethod": true,
+ "CrossLanguageDefinitionId": "Encode.Datetime.Header.unixTimestampArray",
+ "Decorators": []
+ }
+ ],
+ "Protocol": {
+ "$id": "149"
+ },
+ "Parent": "DatetimeClient",
+ "Parameters": [
+ {
+ "$ref": "118"
+ }
+ ],
+ "Decorators": []
+ },
+ {
+ "$id": "150",
+ "Name": "ResponseHeader",
+ "Operations": [
+ {
+ "$id": "151",
+ "Name": "default",
+ "ResourceName": "ResponseHeader",
+ "Accessibility": "public",
+ "Parameters": [
+ {
+ "$id": "152",
+ "Name": "endpoint",
+ "NameInRequest": "endpoint",
+ "Type": {
+ "$id": "153",
+ "Kind": "url",
+ "Name": "url",
+ "CrossLanguageDefinitionId": "TypeSpec.url"
+ },
+ "Location": "Uri",
+ "IsApiVersion": false,
+ "IsResourceParameter": false,
+ "IsContentType": false,
+ "IsRequired": true,
+ "IsEndpoint": true,
+ "SkipUrlEncoding": false,
+ "Explode": false,
+ "Kind": "Client",
+ "DefaultValue": {
+ "$id": "154",
+ "Type": {
+ "$id": "155",
+ "Kind": "string",
+ "Name": "string",
+ "CrossLanguageDefinitionId": "TypeSpec.string"
+ },
+ "Value": "http://localhost:3000"
+ }
+ }
+ ],
+ "Responses": [
+ {
+ "$id": "156",
+ "StatusCodes": [
+ 204
+ ],
+ "BodyMediaType": "Json",
+ "Headers": [
+ {
+ "$id": "157",
+ "Name": "value",
+ "NameInResponse": "value",
+ "Type": {
+ "$id": "158",
+ "Kind": "utcDateTime",
+ "Name": "utcDateTime",
+ "Encode": "rfc7231",
+ "WireType": {
+ "$id": "159",
+ "Kind": "string",
+ "Name": "string",
+ "CrossLanguageDefinitionId": "TypeSpec.string",
+ "Decorators": []
+ },
+ "CrossLanguageDefinitionId": "TypeSpec.utcDateTime",
+ "Decorators": []
+ }
+ }
+ ],
+ "IsErrorResponse": false
+ }
+ ],
+ "HttpMethod": "GET",
+ "RequestBodyMediaType": "None",
+ "Uri": "{endpoint}",
+ "Path": "/encode/datetime/responseheader/default",
+ "BufferResponse": true,
+ "GenerateProtocolMethod": true,
+ "GenerateConvenienceMethod": true,
+ "CrossLanguageDefinitionId": "Encode.Datetime.ResponseHeader.default",
+ "Decorators": []
+ },
+ {
+ "$id": "160",
+ "Name": "rfc3339",
+ "ResourceName": "ResponseHeader",
+ "Accessibility": "public",
+ "Parameters": [
+ {
+ "$ref": "152"
+ }
+ ],
+ "Responses": [
+ {
+ "$id": "161",
+ "StatusCodes": [
+ 204
+ ],
+ "BodyMediaType": "Json",
+ "Headers": [
+ {
+ "$id": "162",
+ "Name": "value",
+ "NameInResponse": "value",
+ "Type": {
+ "$id": "163",
+ "Kind": "utcDateTime",
+ "Name": "utcDateTime",
+ "Encode": "rfc3339",
+ "WireType": {
+ "$id": "164",
+ "Kind": "string",
+ "Name": "string",
+ "CrossLanguageDefinitionId": "TypeSpec.string",
+ "Decorators": []
+ },
+ "CrossLanguageDefinitionId": "TypeSpec.utcDateTime",
+ "Decorators": []
+ }
+ }
+ ],
+ "IsErrorResponse": false
+ }
+ ],
+ "HttpMethod": "GET",
+ "RequestBodyMediaType": "None",
+ "Uri": "{endpoint}",
+ "Path": "/encode/datetime/responseheader/rfc3339",
+ "BufferResponse": true,
+ "GenerateProtocolMethod": true,
+ "GenerateConvenienceMethod": true,
+ "CrossLanguageDefinitionId": "Encode.Datetime.ResponseHeader.rfc3339",
+ "Decorators": []
+ },
+ {
+ "$id": "165",
+ "Name": "rfc7231",
+ "ResourceName": "ResponseHeader",
+ "Accessibility": "public",
+ "Parameters": [
+ {
+ "$ref": "152"
+ }
+ ],
+ "Responses": [
+ {
+ "$id": "166",
+ "StatusCodes": [
+ 204
+ ],
+ "BodyMediaType": "Json",
+ "Headers": [
+ {
+ "$id": "167",
+ "Name": "value",
+ "NameInResponse": "value",
+ "Type": {
+ "$id": "168",
+ "Kind": "utcDateTime",
+ "Name": "utcDateTime",
+ "Encode": "rfc7231",
+ "WireType": {
+ "$id": "169",
+ "Kind": "string",
+ "Name": "string",
+ "CrossLanguageDefinitionId": "TypeSpec.string",
+ "Decorators": []
+ },
+ "CrossLanguageDefinitionId": "TypeSpec.utcDateTime",
+ "Decorators": []
+ }
+ }
+ ],
+ "IsErrorResponse": false
+ }
+ ],
+ "HttpMethod": "GET",
+ "RequestBodyMediaType": "None",
+ "Uri": "{endpoint}",
+ "Path": "/encode/datetime/responseheader/rfc7231",
+ "BufferResponse": true,
+ "GenerateProtocolMethod": true,
+ "GenerateConvenienceMethod": true,
+ "CrossLanguageDefinitionId": "Encode.Datetime.ResponseHeader.rfc7231",
+ "Decorators": []
+ },
+ {
+ "$id": "170",
+ "Name": "unixTimestamp",
+ "ResourceName": "ResponseHeader",
+ "Accessibility": "public",
+ "Parameters": [
+ {
+ "$ref": "152"
+ }
+ ],
+ "Responses": [
+ {
+ "$id": "171",
+ "StatusCodes": [
+ 204
+ ],
+ "BodyMediaType": "Json",
+ "Headers": [
+ {
+ "$id": "172",
+ "Name": "value",
+ "NameInResponse": "value",
+ "Type": {
+ "$id": "173",
+ "Kind": "utcDateTime",
+ "Name": "utcDateTime",
+ "Encode": "unixTimestamp",
+ "WireType": {
+ "$id": "174",
+ "Kind": "int64",
+ "Name": "int64",
+ "CrossLanguageDefinitionId": "TypeSpec.int64",
+ "Decorators": []
+ },
+ "CrossLanguageDefinitionId": "TypeSpec.utcDateTime",
+ "Decorators": []
+ }
+ }
+ ],
+ "IsErrorResponse": false
+ }
+ ],
+ "HttpMethod": "GET",
+ "RequestBodyMediaType": "None",
+ "Uri": "{endpoint}",
+ "Path": "/encode/datetime/responseheader/unix-timestamp",
+ "BufferResponse": true,
+ "GenerateProtocolMethod": true,
+ "GenerateConvenienceMethod": true,
+ "CrossLanguageDefinitionId": "Encode.Datetime.ResponseHeader.unixTimestamp",
+ "Decorators": []
+ }
+ ],
+ "Protocol": {
+ "$id": "175"
+ },
+ "Parent": "DatetimeClient",
+ "Parameters": [
+ {
+ "$ref": "152"
+ }
+ ],
+ "Decorators": []
+ }
+ ]
+}