From 142f44fa23e6a2e3cde02a268f1d119dc35e07e7 Mon Sep 17 00:00:00 2001 From: ShivangiReja <45216704+ShivangiReja@users.noreply.github.com> Date: Fri, 23 Aug 2024 16:38:32 -0700 Subject: [PATCH] Adopt http\encode\datetime from cadl ranch (#4252) Fixes: https://github.com/microsoft/typespec/issues/3972 --------- Co-authored-by: ShivangiReja --- .../eng/scripts/Generate.ps1 | 1 - .../src/Properties/launchSettings.json | 5 + .../Http/Encode/DateTime/DateTimeTests.cs | 183 ++ .../http/encode/datetime/Configuration.json | 6 + .../http/encode/datetime/Encode.Datetime.sln | 48 + .../datetime/src/Encode.Datetime.csproj | 16 + .../datetime/src/Generated/DatetimeClient.cs | 26 + .../src/Generated/DatetimeClientOptions.cs | 12 + .../Generated/EncodeDatetimeModelFactory.cs | 22 + .../encode/datetime/src/Generated/Header.cs | 59 + .../DefaultDatetimeProperty.Serialization.cs | 36 + .../Models/DefaultDatetimeProperty.cs | 20 + .../Rfc3339DatetimeProperty.Serialization.cs | 36 + .../Models/Rfc3339DatetimeProperty.cs | 20 + .../Rfc7231DatetimeProperty.Serialization.cs | 36 + .../Models/Rfc7231DatetimeProperty.cs | 20 + ...tampArrayDatetimeProperty.Serialization.cs | 36 + .../UnixTimestampArrayDatetimeProperty.cs | 16 + ...TimestampDatetimeProperty.Serialization.cs | 36 + .../Models/UnixTimestampDatetimeProperty.cs | 20 + .../encode/datetime/src/Generated/Property.cs | 58 + .../encode/datetime/src/Generated/Query.cs | 59 + .../datetime/src/Generated/ResponseHeader.cs | 49 + .../http/encode/datetime/tspCodeModel.json | 1805 +++++++++++++++++ 24 files changed, 2624 insertions(+), 1 deletion(-) create mode 100644 packages/http-client-csharp/generator/TestProjects/CadlRanch.Tests/Http/Encode/DateTime/DateTimeTests.cs create mode 100644 packages/http-client-csharp/generator/TestProjects/CadlRanch/http/encode/datetime/Configuration.json create mode 100644 packages/http-client-csharp/generator/TestProjects/CadlRanch/http/encode/datetime/Encode.Datetime.sln create mode 100644 packages/http-client-csharp/generator/TestProjects/CadlRanch/http/encode/datetime/src/Encode.Datetime.csproj create mode 100644 packages/http-client-csharp/generator/TestProjects/CadlRanch/http/encode/datetime/src/Generated/DatetimeClient.cs create mode 100644 packages/http-client-csharp/generator/TestProjects/CadlRanch/http/encode/datetime/src/Generated/DatetimeClientOptions.cs create mode 100644 packages/http-client-csharp/generator/TestProjects/CadlRanch/http/encode/datetime/src/Generated/EncodeDatetimeModelFactory.cs create mode 100644 packages/http-client-csharp/generator/TestProjects/CadlRanch/http/encode/datetime/src/Generated/Header.cs create mode 100644 packages/http-client-csharp/generator/TestProjects/CadlRanch/http/encode/datetime/src/Generated/Models/DefaultDatetimeProperty.Serialization.cs create mode 100644 packages/http-client-csharp/generator/TestProjects/CadlRanch/http/encode/datetime/src/Generated/Models/DefaultDatetimeProperty.cs create mode 100644 packages/http-client-csharp/generator/TestProjects/CadlRanch/http/encode/datetime/src/Generated/Models/Rfc3339DatetimeProperty.Serialization.cs create mode 100644 packages/http-client-csharp/generator/TestProjects/CadlRanch/http/encode/datetime/src/Generated/Models/Rfc3339DatetimeProperty.cs create mode 100644 packages/http-client-csharp/generator/TestProjects/CadlRanch/http/encode/datetime/src/Generated/Models/Rfc7231DatetimeProperty.Serialization.cs create mode 100644 packages/http-client-csharp/generator/TestProjects/CadlRanch/http/encode/datetime/src/Generated/Models/Rfc7231DatetimeProperty.cs create mode 100644 packages/http-client-csharp/generator/TestProjects/CadlRanch/http/encode/datetime/src/Generated/Models/UnixTimestampArrayDatetimeProperty.Serialization.cs create mode 100644 packages/http-client-csharp/generator/TestProjects/CadlRanch/http/encode/datetime/src/Generated/Models/UnixTimestampArrayDatetimeProperty.cs create mode 100644 packages/http-client-csharp/generator/TestProjects/CadlRanch/http/encode/datetime/src/Generated/Models/UnixTimestampDatetimeProperty.Serialization.cs create mode 100644 packages/http-client-csharp/generator/TestProjects/CadlRanch/http/encode/datetime/src/Generated/Models/UnixTimestampDatetimeProperty.cs create mode 100644 packages/http-client-csharp/generator/TestProjects/CadlRanch/http/encode/datetime/src/Generated/Property.cs create mode 100644 packages/http-client-csharp/generator/TestProjects/CadlRanch/http/encode/datetime/src/Generated/Query.cs create mode 100644 packages/http-client-csharp/generator/TestProjects/CadlRanch/http/encode/datetime/src/Generated/ResponseHeader.cs create mode 100644 packages/http-client-csharp/generator/TestProjects/CadlRanch/http/encode/datetime/tspCodeModel.json 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": [] + } + ] +}