diff --git a/.github/workflows/CD.yml b/.github/workflows/CD.yml index 8bc0b0c..a955163 100644 --- a/.github/workflows/CD.yml +++ b/.github/workflows/CD.yml @@ -91,12 +91,12 @@ jobs: src/CHttpExecutor/bin/Release/${{ env.GH_PACKAGE_VERSION }}/linux-x64/publish/chttpexec-linux-x64 - name: Build VSCodeExtension dependencies run: | - dotnet publish src/CHttpExtension -r linux-x64 -f net10.0 + dotnet publish src/CHttpExtension -r linux-x64 -f net9.0 # .NET9.0 - name: Upload CHttpExtension file to artifacts (linux-x64) uses: actions/upload-artifact@v7 with: name: CHttpExtension-linux-x64 # The name of the artifact bundle - path: src/CHttpExtension/bin/Release/net10.0/linux-x64/publish/* + path: src/CHttpExtension/bin/Release/net9.0/linux-x64/publish/* cross-compile-linux-aot: runs-on: ubuntu-26.04-arm @@ -110,12 +110,12 @@ jobs: run: echo "VERSION=${GITHUB_REF/refs\/tags\/v/}" >> $GITHUB_ENV - name: Build VSCodeExtension dependencies run: | - dotnet publish src/CHttpExtension -r linux-arm64 -f net10.0 + dotnet publish src/CHttpExtension -r linux-arm64 -f net9.0 # .NET9.0 - name: Upload CHttpExtension file to artifacts (linux-arm64) uses: actions/upload-artifact@v7 with: name: CHttpExtension-linux-arm64 # The name of the artifact bundle - path: src/CHttpExtension/bin/Release/net10.0/linux-arm64/publish/* + path: src/CHttpExtension/bin/Release/net9.0/linux-arm64/publish/* cross-compile-windows-aot: runs-on: windows-latest @@ -144,18 +144,18 @@ jobs: src/CHttp/bin/Release/${{ env.GH_PACKAGE_VERSION }}/win-arm64/publish/chttp-win-arm64-aot.exe - name: Build VSCodeExtension dependencies run: | - dotnet publish src/CHttpExtension -r win-x64 -f net10.0 - dotnet publish src/CHttpExtension -r win-arm64 -f net10.0 + dotnet publish src/CHttpExtension -r win-x64 -f net9.0 # .NET9.0 + dotnet publish src/CHttpExtension -r win-arm64 -f net9.0 # .NET9.0 - name: Upload CHttpExtension file to artifacts (win-x64) uses: actions/upload-artifact@v7 with: name: CHttpExtension-win-x64 # The name of the artifact bundle - path: src/CHttpExtension/bin/Release/net10.0/win-x64/publish/* + path: src/CHttpExtension/bin/Release/net9.0/win-x64/publish/* - name: Upload CHttpExtension file to artifacts (win-arm64) uses: actions/upload-artifact@v7 with: name: CHttpExtension-win-arm64 # The name of the artifact bundle - path: src/CHttpExtension/bin/Release/net10.0/win-arm64/publish/* + path: src/CHttpExtension/bin/Release/net9.0/win-arm64/publish/* vscodeextension-linux-x64: runs-on: ubuntu-latest diff --git a/README.md b/README.md index 11d8272..36de030 100644 --- a/README.md +++ b/README.md @@ -51,25 +51,27 @@ Description: Send HTTP request Usage: - CHttp [command] [options] + chttp [command] [options] Options: - -?, -h, --help Show help and usage information - --version Show version information - -v, --http-version <1.0|1.1|2|3> The version of the HTTP request: 1.0, 1.1, 2, 3 [default: - 3.0] + -v, --http-version <1.0|1.1|2|3> The version of the HTTP request: 1.0, 1.1, 2, 3 [default: 3.0] -m, --method HTTP Method [default: GET] - -h, --header Headers Key-Value pairs separated by ':'. For example --header="key:myvalue" [] - -t, --timeout Timeout in seconds. [default: 30] - --no-redirects Disables following redirects on requests [default: False] - --no-cert-validation, --no-certificate-validation Disables certificate validation [default: False] + -h, --header
Headers Key-Value pairs separated by ':'. For example --header="key:myvalue" + -t, --timeout Timeout in seconds. [default: 30] + --no-redirects Disables following redirects on requests + --no-cert-validation, --no-certificate-validation Disables certificate validation -l, --log Level of logging details. [default: Verbose] - -o, --output Output to file. - --cookie-container A file to share cookies among requests. - -b, --body Request body or a file path containing the request - -u, --uri (REQUIRED) The URL of the resource - --upload-throttle Specify HTTP level throttling in kbyte/sec when sending the request [] - -k, --kerberos-auth Use Kerberos Auth [default: False] + -o, --output Output to file. + --cookie-container A file to share cookies among requests. + --clientCertificatePath A PEM file containing the public key of the client certificate for mTLS authentication. + --clientCertificateKeyPath A PEM file containing the private key of the client certificate for mTLS authentication. + -b, --body Request body or a file path containing the request + -u, --uri (REQUIRED) The URL of the resource + --upload-throttle Specify HTTP level throttling in kbyte/sec when sending the request + -k, --kerberos-auth Use Kerberos Auth + --decompressResponse Automatically decompress response. + -?, -h, --help Show help and usage information + --version Show version information Commands: forms Forms request @@ -302,10 +304,10 @@ Run the following commands to publish the native dependencis of the VS Code Exte For this use that latest .NET major version: ```$ -dotnet publish src/CHttpExtension -r win-x64 -f net10.0 -cp ./src/CHttpExtension/bin/Release/net10.0/win-x64/publish/* ./src/VSCodeExt/src/chttp-win32-x64 -dotnet publish src/CHttpExtension -r linux-x64 -f net10.0 -cp ./src/CHttpExtension/bin/Release/net10.0/linux-x64/publish/* ./src/VSCodeExt/src/chttp-linux-x64 +dotnet publish src/CHttpExtension -r win-x64 -f net9.0 +cp ./src/CHttpExtension/bin/Release/net9.0/win-x64/publish/* ./src/VSCodeExt/src/chttp-win32-x64 +dotnet publish src/CHttpExtension -r linux-x64 -f net9.0 +cp ./src/CHttpExtension/bin/Release/net9.0/linux-x64/publish/* ./src/VSCodeExt/src/chttp-linux-x64 ``` ### Cleanup NPM diff --git a/src/CHttp.Api/CHttp.Api.csproj b/src/CHttp.Api/CHttp.Api.csproj index 81483d8..fe4f8dc 100644 --- a/src/CHttp.Api/CHttp.Api.csproj +++ b/src/CHttp.Api/CHttp.Api.csproj @@ -18,7 +18,7 @@ - + diff --git a/src/CHttp/Binders/HttpBehaviorBinder.cs b/src/CHttp/Binders/HttpBehaviorBinder.cs index 76f1277..6801347 100644 --- a/src/CHttp/Binders/HttpBehaviorBinder.cs +++ b/src/CHttp/Binders/HttpBehaviorBinder.cs @@ -1,4 +1,5 @@ using System.CommandLine; +using System.Security.Cryptography.X509Certificates; using CHttp.Http; namespace CHttp.Binders; @@ -9,7 +10,9 @@ internal sealed class HttpBehaviorBinder( Option timeout, Option cookieContainerOption, Option kerberosAuthOption, - Option decompressResponse) + Option decompressResponse, + Option clientCertificatePath, + Option clientCertificateKeyPath) { private readonly Option _redirectBinder = redirectBinder; private readonly Option _validateCertificateValidationBinder = validateCertificateValidationBinder; @@ -17,6 +20,8 @@ internal sealed class HttpBehaviorBinder( private readonly Option _cookieContainerOption = cookieContainerOption; private readonly Option _kerberosAuthOption = kerberosAuthOption; private readonly Option _decompressResponse = decompressResponse; + private readonly Option _clientCertificatePath = clientCertificatePath; + private readonly Option _clientCertificateKeyPath = clientCertificateKeyPath; internal HttpBehavior Bind(ParseResult parseResult) { @@ -26,6 +31,29 @@ internal HttpBehavior Bind(ParseResult parseResult) var cookieContainer = parseResult.GetValue(_cookieContainerOption)?.FullName ?? string.Empty; var kerberosAuth = parseResult.GetValue(_kerberosAuthOption); var decompressResponse = parseResult.GetValue(_decompressResponse); - return new HttpBehavior(timeout, ToUtf8: true, cookieContainer, new SocketBehavior(redirects, enableCertificateValidation, kerberosAuth, 1, decompressResponse)); + var clientCertificatePath = parseResult.GetValue(_clientCertificatePath)?.FullName ?? string.Empty; + X509Certificate2? clientCertificate = null; + + if (!string.IsNullOrWhiteSpace(clientCertificatePath)) + { + if (Path.GetExtension(clientCertificatePath) == ".pfx") + clientCertificate = X509CertificateLoader.LoadPkcs12FromFile(clientCertificatePath, parseResult.GetValue(_clientCertificateKeyPath)?.Name); // Handle KeyPath as a password as opposed file. + else + { + clientCertificate = X509Certificate2.CreateFromPemFile(clientCertificatePath, parseResult.GetValue(_clientCertificateKeyPath)?.FullName); + if (Environment.OSVersion.Platform == PlatformID.Win32NT) + { +#if NET10_0_OR_GREATER + var exported = clientCertificate.ExportPkcs12(Pkcs12ExportPbeParameters.Default, null); +#else + var exported = clientCertificate.Export(X509ContentType.Pkcs12); +#endif + clientCertificate = X509CertificateLoader.LoadPkcs12(exported, null); + } + } + } + + return new HttpBehavior(timeout, ToUtf8: true, cookieContainer, + new SocketBehavior(redirects, enableCertificateValidation, kerberosAuth, 1, decompressResponse, clientCertificate)); } } diff --git a/src/CHttp/CHttp.csproj b/src/CHttp/CHttp.csproj index c5b46d0..98f08a5 100644 --- a/src/CHttp/CHttp.csproj +++ b/src/CHttp/CHttp.csproj @@ -2,7 +2,7 @@ Exe - net10.0;net11.0 + net9.0;net10.0;net11.0 enable enable true @@ -19,7 +19,7 @@ - + diff --git a/src/CHttp/CommandFactory.cs b/src/CHttp/CommandFactory.cs index 7dea335..5a5bd3c 100644 --- a/src/CHttp/CommandFactory.cs +++ b/src/CHttp/CommandFactory.cs @@ -237,6 +237,17 @@ public static Command CreateRootCommand( Required = false, }; + var clientCertPathOption = new Option(name: "--clientCertificatePath") + { + Description = "A PEM file containing the public key of the client certificate for mTLS authentication.", + Required = false, + }; + var clientCertKeyPathOption = new Option(name: "--clientCertificateKeyPath") + { + Description = "A PEM file containing the private key of the client certificate for mTLS authentication.", + Required = false, + }; + var rootCommand = new RootCommand("Send HTTP request"); // Only applies to the Root command. @@ -245,11 +256,11 @@ public static Command CreateRootCommand( //rootCommand.Options.Add(uploadThrottleOption); //rootCommand.Options.Add(kerberosAuthOption); - CreateFormsCommand(writer, fileSystem, versionOptions, methodOptions, headerOptions, formsOptions, timeoutOption, redirectOption, validateCertificateOption, uriOption, logOption, outputFileOption, cookieContainer, kerberosAuthOption, decompressResponseOption, rootCommand); + CreateFormsCommand(writer, fileSystem, versionOptions, methodOptions, headerOptions, formsOptions, timeoutOption, redirectOption, validateCertificateOption, uriOption, logOption, outputFileOption, cookieContainer, kerberosAuthOption, decompressResponseOption, clientCertPathOption, clientCertKeyPathOption, rootCommand); - CreateDefaultCommand(writer, fileSystem, versionOptions, methodOptions, headerOptions, bodyOptions, timeoutOption, redirectOption, validateCertificateOption, uriOption, logOption, outputFileOption, cookieContainer, uploadThrottleOption, kerberosAuthOption, decompressResponseOption, rootCommand); + CreateDefaultCommand(writer, fileSystem, versionOptions, methodOptions, headerOptions, bodyOptions, timeoutOption, redirectOption, validateCertificateOption, uriOption, logOption, outputFileOption, cookieContainer, uploadThrottleOption, kerberosAuthOption, decompressResponseOption, clientCertPathOption, clientCertKeyPathOption, rootCommand); - CreateMeasureCommand(console, fileSystem, versionOptions, methodOptions, headerOptions, bodyOptions, timeoutOption, redirectOption, validateCertificateOption, uriOption, nOption, cOption, outputFileOption, metricsOption, cookieContainer, kerberosAuthOption, shareSocketsHandlerOption, decompressResponseOption, rootCommand); + CreateMeasureCommand(console, fileSystem, versionOptions, methodOptions, headerOptions, bodyOptions, timeoutOption, redirectOption, validateCertificateOption, uriOption, nOption, cOption, outputFileOption, metricsOption, cookieContainer, kerberosAuthOption, shareSocketsHandlerOption, decompressResponseOption, clientCertPathOption, clientCertKeyPathOption, rootCommand); CreateDiffCommand(console, fileSystem, diffFileOption, rootCommand); @@ -271,6 +282,8 @@ private static void CreateFormsCommand(IWriter? writer, Option cookieContainerOption, Option kerberosAuthOption, Option decompressResponseOption, + Option clientCertificatePathOption, + Option clientCertificateKeyPathOption, RootCommand rootCommand) { var formsCommand = new Command("forms", "Forms request"); @@ -285,6 +298,8 @@ private static void CreateFormsCommand(IWriter? writer, formsCommand.Options.Add(logOption); formsCommand.Options.Add(outputFileOption); formsCommand.Options.Add(cookieContainerOption); + formsCommand.Options.Add(clientCertificatePathOption); + formsCommand.Options.Add(clientCertificateKeyPathOption); // Specific options formsCommand.Options.Add(formsOptions); @@ -293,7 +308,8 @@ private static void CreateFormsCommand(IWriter? writer, formsCommand.SetAction(async (parseResult, cancellationToken) => { var outputBehavior = new OutputBehaviorBinder(logOption, outputFileOption).Bind(parseResult); - var httpBehavior = new HttpBehaviorBinder(redirectOption, validateCertificateOption, timeoutOption, cookieContainerOption, kerberosAuthOption, decompressResponseOption).Bind(parseResult); + var httpBehavior = new HttpBehaviorBinder(redirectOption, validateCertificateOption, timeoutOption, cookieContainerOption, + kerberosAuthOption, decompressResponseOption, clientCertificatePathOption, clientCertificateKeyPathOption).Bind(parseResult); writer ??= new WriterStrategy(outputBehavior); var cookieContainer = new PersistentCookieContainer(fileSystem ??= new FileSystem(), httpBehavior.CookieContainer); var client = new HttpMessageSender(writer, cookieContainer, new SingleSocketsHandlerProvider(), httpBehavior); @@ -323,6 +339,8 @@ private static void CreateDefaultCommand(IWriter? writer, Option uploadThrottleOption, Option kerberosAuthOption, Option decompressResponseOption, + Option clientCertificatePathOption, + Option clientCertificateKeyPathOption, RootCommand rootCommand) { // Shared options @@ -335,6 +353,8 @@ private static void CreateDefaultCommand(IWriter? writer, rootCommand.Options.Add(logOption); rootCommand.Options.Add(outputFileOption); rootCommand.Options.Add(cookieContainerOption); + rootCommand.Options.Add(clientCertificatePathOption); + rootCommand.Options.Add(clientCertificateKeyPathOption); // Specific options rootCommand.Options.Add(bodyOptions); @@ -345,7 +365,8 @@ private static void CreateDefaultCommand(IWriter? writer, rootCommand.SetAction(async (parseResult, cancellationToken) => { var outputBehavior = new OutputBehaviorBinder(logOption, outputFileOption).Bind(parseResult); - var httpBehavior = new HttpBehaviorBinder(redirectOption, validateCertificateOption, timeoutOption, cookieContainerOption, kerberosAuthOption, decompressResponseOption).Bind(parseResult); + var httpBehavior = new HttpBehaviorBinder(redirectOption, validateCertificateOption, timeoutOption, cookieContainerOption, + kerberosAuthOption, decompressResponseOption, clientCertificatePathOption, clientCertificateKeyPathOption).Bind(parseResult); var requestDetails = new HttpRequestDetailsBinder(methodOptions, uriOption, versionOptions, headerOptions).Bind(parseResult); var body = parseResult.GetValue(bodyOptions); var uploadThrottle = parseResult.GetValue(uploadThrottleOption); @@ -382,6 +403,8 @@ private static void CreateMeasureCommand(IConsole? console, Option kerberosAuthOption, Option decompressResponseOption, Option shareSocketsHandlerOption, + Option clientCertificatePathOption, + Option clientCertificateKeyPathOption, RootCommand rootCommand) { var perfCommand = new Command("perf", "Performance Measure"); @@ -396,6 +419,8 @@ private static void CreateMeasureCommand(IConsole? console, perfCommand.Options.Add(outputFileOption); perfCommand.Options.Add(cookieContainerOption); perfCommand.Options.Add(kerberosAuthOption); + perfCommand.Options.Add(clientCertificatePathOption); + perfCommand.Options.Add(clientCertificateKeyPathOption); // Specific options perfCommand.Options.Add(nOption); @@ -407,7 +432,8 @@ private static void CreateMeasureCommand(IConsole? console, rootCommand.Add(perfCommand); perfCommand.SetAction(async (parseResult, cancellationToken) => { - var httpBehavior = new HttpBehaviorBinder(redirectOption, validateCertificateOption, timeoutOption, cookieContainerOption, kerberosAuthOption, decompressResponseOption).Bind(parseResult); + var httpBehavior = new HttpBehaviorBinder(redirectOption, validateCertificateOption, timeoutOption, cookieContainerOption, + kerberosAuthOption, decompressResponseOption, clientCertificatePathOption, clientCertificateKeyPathOption).Bind(parseResult); var requestDetails = new HttpRequestDetailsBinder(methodOptions, uriOption, versionOptions, headerOptions).Bind(parseResult); var performanceBehavior = new PerformanceBehaviorBinder(nOption, cOption, shareSocketsHandlerOption).Bind(parseResult); var body = parseResult.GetValue(bodyOptions); diff --git a/src/CHttp/Http/BaseSocketsHandlerProvider.cs b/src/CHttp/Http/BaseSocketsHandlerProvider.cs index 33536ae..3e5af69 100644 --- a/src/CHttp/Http/BaseSocketsHandlerProvider.cs +++ b/src/CHttp/Http/BaseSocketsHandlerProvider.cs @@ -1,4 +1,5 @@ using System.Net; +using System.Security.Cryptography.X509Certificates; namespace CHttp.Http; @@ -13,9 +14,12 @@ protected SocketsHttpHandler CreateMessageHandler(ICookieContainer cookieContain messageHandler.AllowAutoRedirect = behavior.EnableRedirects; messageHandler.SslOptions = new System.Net.Security.SslClientAuthenticationOptions() { - // TODO: sockets behavior - CertificateRevocationCheckMode = System.Security.Cryptography.X509Certificates.X509RevocationMode.Offline, + // Sockets behavior + CertificateRevocationCheckMode = X509RevocationMode.Offline, + EnabledSslProtocols = System.Security.Authentication.SslProtocols.Tls12 | System.Security.Authentication.SslProtocols.Tls13 }; + if (behavior.ClientCertificate != null) + messageHandler.SslOptions.ClientCertificates = [behavior.ClientCertificate]; if (!behavior.EnableCertificateValidation) messageHandler.SslOptions.RemoteCertificateValidationCallback = (_, _, _, _) => true; diff --git a/src/CHttp/Http/HttpMessageSender.cs b/src/CHttp/Http/HttpMessageSender.cs index 92ce02c..9814474 100644 --- a/src/CHttp/Http/HttpMessageSender.cs +++ b/src/CHttp/Http/HttpMessageSender.cs @@ -52,7 +52,7 @@ private async Task SendRequestAsync(HttpClient client, HttpRequestMessage reques { try { - using var response = await client.SendAsync(request, HttpCompletionOption.ResponseHeadersRead, token); + using var response = await client.SendAsync(request, HttpCompletionOption.ResponseHeadersRead, token).ConfigureAwait(false); var charSet = response.Content.Headers.ContentType?.CharSet; var encoding = charSet is { } ? Encoding.GetEncoding(charSet) : Encoding.UTF8; await _writer.InitializeResponseAsync(new HttpResponseInitials(response.StatusCode, response.Headers, response.Content.Headers, response.Version, encoding)); diff --git a/src/CHttp/Http/SocketBehavior.cs b/src/CHttp/Http/SocketBehavior.cs index 2da6be9..de0cc70 100644 --- a/src/CHttp/Http/SocketBehavior.cs +++ b/src/CHttp/Http/SocketBehavior.cs @@ -1,8 +1,11 @@ -namespace CHttp.Http; +using System.Security.Cryptography.X509Certificates; + +namespace CHttp.Http; internal record SocketBehavior( bool EnableRedirects, bool EnableCertificateValidation, bool UseKerberosAuth, int MaxConnectionPerServer, - bool AutomaticDecompression); + bool AutomaticDecompression, + X509Certificate2? ClientCertificate); diff --git a/src/CHttpExecutor/CHttpExecutor.csproj b/src/CHttpExecutor/CHttpExecutor.csproj index 4bc6ed2..fc05214 100644 --- a/src/CHttpExecutor/CHttpExecutor.csproj +++ b/src/CHttpExecutor/CHttpExecutor.csproj @@ -31,8 +31,8 @@ - - + + diff --git a/src/CHttpExecutor/ExecutionPlanBuilder.cs b/src/CHttpExecutor/ExecutionPlanBuilder.cs index 6867fdb..a18d9ff 100644 --- a/src/CHttpExecutor/ExecutionPlanBuilder.cs +++ b/src/CHttpExecutor/ExecutionPlanBuilder.cs @@ -174,6 +174,24 @@ public void AddExecutionInstruction(ReadOnlySpan command, ReadOnlySpan EnableRedirects = step.EnableRedirects, NoCertificateValidation = step.NoCertificateValidation, Variables = step.Variables, - Assertions = step.Assertions + Assertions = step.Assertions, + ClientCertificatePath = step.ClientCertificatePath, + ClientCertificateKeyPath = step.ClientCertificateKeyPath, }; private void ValidateVariableExistance(VarValue source) diff --git a/src/CHttpExecutor/ExecutionStep.cs b/src/CHttpExecutor/ExecutionStep.cs index 2f2758e..44debdb 100644 --- a/src/CHttpExecutor/ExecutionStep.cs +++ b/src/CHttpExecutor/ExecutionStep.cs @@ -1,5 +1,6 @@ using System.Diagnostics.CodeAnalysis; using System.Net; +using System.Security.Cryptography.X509Certificates; using CHttp.Data; namespace CHttpExecutor; @@ -76,6 +77,10 @@ internal class ExecutionStep public VarValue NoCertificateValidation { get; set; } = VarValue.False; + public string? ClientCertificatePath { get; set; } + + public string? ClientCertificateKeyPath { get; set; } + public List Variables { get; set; } = []; internal List Assertions { get; set; } = []; @@ -86,7 +91,8 @@ internal class ExecutionStep Name == null && Uri == null && Method == null && Body.Count == 0 && EnableRedirects == VarValue.True && NoCertificateValidation == VarValue.False && Headers.Count == 0 && RequestsCount == null && ClientsCount == null - && SharedSocket == VarValue.False && Timeout == DefaultTimeout + && SharedSocket == VarValue.False && Timeout == DefaultTimeout + && ClientCertificatePath == null && ClientCertificateKeyPath == null && Variables.Count == 0 && Assertions.Count == 0 && Version == HttpVersion.Version20; @@ -97,6 +103,7 @@ internal class ExecutionStep && EnableRedirects == VarValue.True && NoCertificateValidation == VarValue.False && Headers.Count == 0 && RequestsCount == null && ClientsCount == null && SharedSocket == VarValue.False && Timeout == DefaultTimeout + && ClientCertificatePath == null && ClientCertificateKeyPath == null && Assertions.Count == 0 && Version == HttpVersion.Version20; } @@ -129,6 +136,10 @@ internal class FrozenExecutionStep public VarValue NoCertificateValidation { get; set; } = VarValue.False; + public required string? ClientCertificatePath { get; init; } + + public required string? ClientCertificateKeyPath { get; init; } + public IReadOnlyCollection Variables { get; init; } = []; public IReadOnlyCollection Assertions { get; init; } = []; diff --git a/src/CHttpExecutor/Executor.cs b/src/CHttpExecutor/Executor.cs index e16477f..2e5fbc3 100644 --- a/src/CHttpExecutor/Executor.cs +++ b/src/CHttpExecutor/Executor.cs @@ -1,5 +1,7 @@ using System.Collections.Generic; +using System.CommandLine; using System.Reflection.PortableExecutable; +using System.Security.Cryptography.X509Certificates; using CHttp.Abstractions; using CHttp.Data; using CHttp.Http; @@ -63,7 +65,8 @@ public async Task ExecuteAsync() var timeout = ProcessVariable(step.Timeout, ctx, nameof(step.Timeout)); var enableRedirects = ProcessVariable(step.EnableRedirects, ctx, nameof(step.EnableRedirects)); var enableCertificateValidation = !ProcessVariable(step.NoCertificateValidation, ctx, nameof(step.NoCertificateValidation)); - var httpBehavior = new HttpBehavior(timeout, false, string.Empty, new SocketBehavior(enableRedirects, enableCertificateValidation, UseKerberosAuth: false, 1, AutomaticDecompression: false)); + var clientCertificate = ProcessCLientCertificateVariable(step.ClientCertificatePath, step.ClientCertificateKeyPath, ctx); + var httpBehavior = new HttpBehavior(timeout, false, string.Empty, new SocketBehavior(enableRedirects, enableCertificateValidation, UseKerberosAuth: false, 1, AutomaticDecompression: false, clientCertificate)); var requestDetails = new HttpRequestDetails(new HttpMethod(step.Method), uri, step.Version, headers); HttpContent? body = step.Body.Count > 0 ? new StringLinesContent(step.Body.Select(x => VariablePreprocessor.Evaluate(x, ctx.VariableValuesLookup, ctx.ExecutionResultsLookup)).ToArray()) : null; if (!step.IsPerformanceRequest) @@ -94,6 +97,24 @@ private static T ProcessVariable(VarValue value, ExecutionContext ctx, str throw new ArgumentException($"Invalid value set for {name}"); } + private static X509Certificate2? ProcessCLientCertificateVariable(string? certPath, string? certKeyPath, ExecutionContext ctx) + { + if (string.IsNullOrWhiteSpace(certPath)) + return null; + var actualPath = VariablePreprocessor.Evaluate(certPath, ctx.VariableValuesLookup, ctx.ExecutionResultsLookup); + var actualKey = VariablePreprocessor.Evaluate(certKeyPath, ctx.VariableValuesLookup, ctx.ExecutionResultsLookup); + if (Path.GetExtension(certPath) == ".pfx") + return X509CertificateLoader.LoadPkcs12FromFile(actualPath, actualKey); + + var certificate = X509Certificate2.CreateFromPemFile(actualPath, actualKey); + if (Environment.OSVersion.Platform == PlatformID.Win32NT) + { + var exportedCert = certificate.ExportPkcs12(Pkcs12ExportPbeParameters.Default, null); + certificate = X509CertificateLoader.LoadPkcs12(exportedCert, null); + } + return certificate; + } + private static async Task SendRequestAsync(HttpBehavior httpBehavior, HttpRequestDetails requestDetails, HttpContent? body, ExecutionContext ctx) { if (body is not null) diff --git a/src/CHttpExecutor/PerformanceTool.cs b/src/CHttpExecutor/PerformanceTool.cs index 71e1b0e..f077861 100644 --- a/src/CHttpExecutor/PerformanceTool.cs +++ b/src/CHttpExecutor/PerformanceTool.cs @@ -20,7 +20,7 @@ public static async Task PerformanceMeasure( [Description("The number of requests")] int requestCount = 100) { var console = new StringConsole(); - var httpBehavior = new HttpBehavior(10, false, string.Empty, new SocketBehavior(EnableRedirects: true, EnableCertificateValidation: false, UseKerberosAuth: false, MaxConnectionPerServer: 1, AutomaticDecompression: false)); + var httpBehavior = new HttpBehavior(10, false, string.Empty, new SocketBehavior(EnableRedirects: true, EnableCertificateValidation: false, UseKerberosAuth: false, MaxConnectionPerServer: 1, AutomaticDecompression: false, null)); var parsedHeaders = new List(); var requestDetails = new HttpRequestDetails( new HttpMethod("GET"), diff --git a/src/CHttpExtension/CHttpExtension.cs b/src/CHttpExtension/CHttpExtension.cs index f26bb7c..7107886 100644 --- a/src/CHttpExtension/CHttpExtension.cs +++ b/src/CHttpExtension/CHttpExtension.cs @@ -1,6 +1,7 @@ using System.Net; using System.Net.Quic; using System.Runtime.Versioning; +using System.Security.Cryptography.X509Certificates; using CHttp.Abstractions; using CHttp.Binders; using CHttp.Data; @@ -32,6 +33,8 @@ public static async Task SendRequestAsync( bool enableRedirects, bool enableCertificateValidation, bool useKerberosAuth, + string? clientCertificatePath, + string? clientCertificateKeyPath, double timeout, string method, string uri, @@ -48,7 +51,7 @@ string body { _cancellationTokenSource = new(); return await SendRequestImplAsync(enableRedirects, enableCertificateValidation, useKerberosAuth, - timeout, method, uri, parsedVersion, headers, body); + clientCertificatePath, clientCertificateKeyPath, timeout, method, uri, parsedVersion, headers, body); } finally { @@ -60,6 +63,8 @@ private static async Task SendRequestImplAsync( bool enableRedirects, bool enableCertificateValidation, bool useKerberosAuth, + string? clientCertificatePath, + string? clientCertificateKeyPath, double timeout, string method, string uri, @@ -68,7 +73,9 @@ private static async Task SendRequestImplAsync( string body ) { - var httpBehavior = new HttpBehavior(timeout, false, string.Empty, new SocketBehavior(enableRedirects, enableCertificateValidation, useKerberosAuth, 1, AutomaticDecompression: true)); + X509Certificate2? clientCertificate = LoadCertificate(clientCertificatePath, clientCertificateKeyPath); + + var httpBehavior = new HttpBehavior(timeout, false, string.Empty, new SocketBehavior(enableRedirects, enableCertificateValidation, useKerberosAuth, 1, AutomaticDecompression: true, clientCertificate)); var parsedHeaders = new List(); foreach (string header in headers ?? Enumerable.Empty()) { @@ -96,21 +103,23 @@ string body [SupportedOSPlatform("windows")] [SupportedOSPlatform("linux")] public static async Task PerfMeasureAsync( - string executionName, - bool enableRedirects, - bool enableCertificateValidation, - bool useKerberosAuth, - double timeout, - string method, - string uri, - string version, - IEnumerable headers, - string body, - int requestCount, - int clientsCount, - bool sharedSocketsHandler, - Action callback - ) + string executionName, + bool enableRedirects, + bool enableCertificateValidation, + bool useKerberosAuth, + string? clientCertificatePath, + string? clientCertificateKeyPath, + double timeout, + string method, + string uri, + string version, + IEnumerable headers, + string body, + int requestCount, + int clientsCount, + bool sharedSocketsHandler, + Action callback + ) { Version parsedVersion = ParseHttpVersion(version); _cancellationTokenSource.Cancel(); @@ -119,7 +128,7 @@ Action callback try { _cancellationTokenSource = new(); - return await PerfMeasureImplAsync(executionName, enableRedirects, enableCertificateValidation, useKerberosAuth, + return await PerfMeasureImplAsync(executionName, enableRedirects, enableCertificateValidation, useKerberosAuth, clientCertificatePath, clientCertificateKeyPath, timeout, method, uri, parsedVersion, headers, body, requestCount, clientsCount, sharedSocketsHandler, callback); } finally @@ -133,6 +142,8 @@ private static async Task PerfMeasureImplAsync( bool enableRedirects, bool enableCertificateValidation, bool useKerberosAuth, + string? clientCertificatePath, + string? clientCertificateKeyPath, double timeout, string method, string uri, @@ -145,7 +156,8 @@ private static async Task PerfMeasureImplAsync( Action callback ) { - var httpBehavior = new HttpBehavior(timeout, false, string.Empty, new SocketBehavior(enableRedirects, enableCertificateValidation, useKerberosAuth, 1, AutomaticDecompression: false)); + X509Certificate2? clientCertificate = LoadCertificate(clientCertificatePath, clientCertificateKeyPath); + var httpBehavior = new HttpBehavior(timeout, false, string.Empty, new SocketBehavior(enableRedirects, enableCertificateValidation, useKerberosAuth, 1, AutomaticDecompression: false, clientCertificate)); var parsedHeaders = new List(); foreach (string header in headers ?? Enumerable.Empty()) { @@ -176,7 +188,7 @@ public static async Task GetDiffAsync(string file1, string file2) { if (!FilesExist(file1, file2, out var validationMessage)) throw new ArgumentException(validationMessage); - var console = new StringConsole(); + var console = new StringConsole(enableColoring: true); var session0 = await PerformanceFileHandler.LoadAsync(_fileSystem, file1); var session1 = await PerformanceFileHandler.LoadAsync(_fileSystem, file2); var comparer = new DiffPrinter(console); @@ -217,6 +229,27 @@ private static bool FilesExist(string fileName1, string fileName2, out string er } public static void Cancel() => _cancellationTokenSource.Cancel(); + + private static X509Certificate2? LoadCertificate(string? certPath, string? certKey) + { + if (string.IsNullOrWhiteSpace(certPath) && string.IsNullOrWhiteSpace(certPath)) + return null; + + if (Path.GetExtension(certPath) == ".pfx") + return X509CertificateLoader.LoadPkcs12FromFile(certPath, certKey); + + var clientCertificate = X509Certificate2.CreateFromPemFile(certPath, certKey); + if (Environment.OSVersion.Platform == PlatformID.Win32NT) + { +#if NET10_0_OR_GREATER + var exported = clientCertificate.ExportPkcs12(Pkcs12ExportPbeParameters.Default, null); +#else + var exported = clientCertificate.Export(X509ContentType.Pkcs12); +#endif + clientCertificate = X509CertificateLoader.LoadPkcs12(exported, null); + } + return clientCertificate; + } } diff --git a/src/CHttpExtension/CHttpExtension.csproj b/src/CHttpExtension/CHttpExtension.csproj index cb8a16e..ef7aa2d 100644 --- a/src/CHttpExtension/CHttpExtension.csproj +++ b/src/CHttpExtension/CHttpExtension.csproj @@ -2,7 +2,7 @@ library - net10.0 + net9.0 enable enable true @@ -11,8 +11,8 @@ - - + + diff --git a/src/CHttpExtension/StringConsole.cs b/src/CHttpExtension/StringConsole.cs index 0641119..425d636 100644 --- a/src/CHttpExtension/StringConsole.cs +++ b/src/CHttpExtension/StringConsole.cs @@ -7,15 +7,22 @@ public class StringConsole : IConsole { private ConsoleColor _color = ConsoleColor.Black; private bool _colorize; + private bool _enableColoring; - public StringConsole() + public StringConsole() : this(false) { } + public StringConsole(bool enableColoring) + { + _enableColoring = enableColoring; + } + public StringConsole(string color) { if (!Enum.TryParse(color, out _color)) _color = ConsoleColor.Black; + _enableColoring = true; } public bool CursorVisible { get; set; } = false; @@ -33,6 +40,8 @@ public ConsoleColor ForegroundColor { _color = value; _colorize = !_colorize; + if (!_enableColoring) + return; if (_colorize) Write($""); else diff --git a/src/CHttpServer/CHttpServer/CHttpServer.csproj b/src/CHttpServer/CHttpServer/CHttpServer.csproj index e2e5512..b96a116 100644 --- a/src/CHttpServer/CHttpServer/CHttpServer.csproj +++ b/src/CHttpServer/CHttpServer/CHttpServer.csproj @@ -27,7 +27,7 @@ - + diff --git a/src/VSCodeExt/README.md b/src/VSCodeExt/README.md index 81d2017..73ee41b 100644 --- a/src/VSCodeExt/README.md +++ b/src/VSCodeExt/README.md @@ -78,6 +78,8 @@ Use attributes to change the HTTP request behavior. At the time of writing the f - no-redirect - name - kerberos-auth +- client-certificate-path +- client-certificate-key - shared-sockethandler Using named requests: @@ -96,6 +98,16 @@ Or ignore certificate validation errors, by using the `@no-certificate-validatio GET https://localhost:5001/endpoint HTTP/1.1 ``` +mTLS or certificate based authentication + +``` +@baseUrl = localhost:5001 +### +# @client-certificate-path /path/cert.pem +# @client-certificate-key /path/cert.key +GET https://{{baseUrl}}/jsonresponse HTTP/2 +``` + ## Performance Measurements Run performance measurements by defining either `@clientscount` or `@requestcount` attributes. Their default values are 10 and 100 respectively. diff --git a/src/VSCodeExt/dist/extension.js b/src/VSCodeExt/dist/extension.js index 88d1815..7be45e5 100644 --- a/src/VSCodeExt/dist/extension.js +++ b/src/VSCodeExt/dist/extension.js @@ -24,7 +24,6 @@ const httpResponseTextDocumentView_1 = __webpack_require__(26); const httpRequestParser_1 = __webpack_require__(27); const requestVariableCache_1 = __webpack_require__(12); const os = __webpack_require__(6); -const util_1 = __webpack_require__(37); class RequestController { constructor(context, log) { this._requestStatusEntry = new requestStatusBarEntry_1.RequestStatusEntry(); @@ -70,7 +69,7 @@ class RequestController { CHttpModule.CHttpExt.cancel(); }); const CHttpModule = __webpack_require__(28)(`./chttp-${os.platform()}-${os.arch()}/CHttpExtension.node`); - var response = await CHttpModule.CHttpExt.perfMeasureAsync(name ? name : null, !metadatas.has(requestMetadata_1.RequestMetadata.NoRedirect), !metadatas.has(requestMetadata_1.RequestMetadata.NoCertificateValidation), metadatas.has(requestMetadata_1.RequestMetadata.KerberosAuth), this.tryParseInt(metadatas.get(requestMetadata_1.RequestMetadata.Timeout), 40), performanceHttpRequest.method, performanceHttpRequest.uri, performanceHttpRequest.version, performanceHttpRequest.headers, performanceHttpRequest.content, this.tryParseInt(metadatas.get(requestMetadata_1.RequestMetadata.RequestCount), 100), this.tryParseInt(metadatas.get(requestMetadata_1.RequestMetadata.ClientsCount), 10), metadatas.has(requestMetadata_1.RequestMetadata.SharedSocketHandler), (data) => progress.report({ message: data })); + var response = await CHttpModule.CHttpExt.perfMeasureAsync(name ? name : null, !metadatas.has(requestMetadata_1.RequestMetadata.NoRedirect), !metadatas.has(requestMetadata_1.RequestMetadata.NoCertificateValidation), metadatas.has(requestMetadata_1.RequestMetadata.KerberosAuth), metadatas.get(requestMetadata_1.RequestMetadata.ClientCertificatePath), metadatas.get(requestMetadata_1.RequestMetadata.ClientCertificateKey), this.tryParseInt(metadatas.get(requestMetadata_1.RequestMetadata.Timeout), 40), performanceHttpRequest.method, performanceHttpRequest.uri, performanceHttpRequest.version, performanceHttpRequest.headers, performanceHttpRequest.content, this.tryParseInt(metadatas.get(requestMetadata_1.RequestMetadata.RequestCount), 100), this.tryParseInt(metadatas.get(requestMetadata_1.RequestMetadata.ClientsCount), 10), metadatas.has(requestMetadata_1.RequestMetadata.SharedSocketHandler), (data) => progress.report({ message: data })); if (response == "" || response == "Cancelled") { this._requestStatusEntry.updateStatus("Cancelled"); return; @@ -97,11 +96,10 @@ class RequestController { this._log.appendLine("Request Parsed"); const CHttpModule = __webpack_require__(28)(`./chttp-${os.platform()}-${os.arch()}/CHttpExtension.node`); this._log.appendLine(`Dependency loaded: ${CHttpModule}`); - this._log.appendLine(`CHttpModule keys: ${Object.keys(CHttpModule).join(', ')}`); - this._log.appendLine((0, util_1.inspect)(CHttpModule, { depth: 2 })); - var response = await CHttpModule.CHttpExt.sendRequestAsync(!metadatas.has(requestMetadata_1.RequestMetadata.NoRedirect), !metadatas.has(requestMetadata_1.RequestMetadata.NoCertificateValidation), metadatas.has(requestMetadata_1.RequestMetadata.KerberosAuth), this.tryParseInt(metadatas.get(requestMetadata_1.RequestMetadata.Timeout), 40), httpRequest.method, httpRequest.uri, httpRequest.version, httpRequest.headers, httpRequest.content); + var response = await CHttpModule.CHttpExt.sendRequestAsync(!metadatas.has(requestMetadata_1.RequestMetadata.NoRedirect), !metadatas.has(requestMetadata_1.RequestMetadata.NoCertificateValidation), metadatas.has(requestMetadata_1.RequestMetadata.KerberosAuth), metadatas.get(requestMetadata_1.RequestMetadata.ClientCertificatePath), metadatas.get(requestMetadata_1.RequestMetadata.ClientCertificateKey), this.tryParseInt(metadatas.get(requestMetadata_1.RequestMetadata.Timeout), 40), httpRequest.method, httpRequest.uri, httpRequest.version, httpRequest.headers, httpRequest.content); if (response == "" || response == "Cancelled") { this._requestStatusEntry.updateStatus("Cancelled"); + this._log.appendLine('Request cancelled'); return; } this._log.appendLine(`Response received: ${response}`); @@ -155,6 +153,8 @@ var RequestMetadata; RequestMetadata["Timeout"] = "timeout"; RequestMetadata["KerberosAuth"] = "kerberos-auth"; RequestMetadata["SharedSocketHandler"] = "shared-sockethandler"; + RequestMetadata["ClientCertificatePath"] = "client-certificate-path"; + RequestMetadata["ClientCertificateKey"] = "client-certificate-key"; })(RequestMetadata || (exports.RequestMetadata = RequestMetadata = {})); function fromString(value) { value = value.toLowerCase(); @@ -2409,50 +2409,21 @@ exports.HttpRequestParser = HttpRequestParser; /***/ }), /* 28 */ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -var map = { - "./chttp-linux-x64-old/CHttpExtension.node": 36, - "./chttp-linux-x64/CHttpExtension.node": 29, - "./chttp-win32-x64/CHttpExtension.node": 39 -}; - +/***/ ((module) => { -function webpackContext(req) { - var id = webpackContextResolve(req); - return __webpack_require__(id); -} -function webpackContextResolve(req) { - if(!__webpack_require__.o(map, req)) { - var e = new Error("Cannot find module '" + req + "'"); - e.code = 'MODULE_NOT_FOUND'; - throw e; - } - return map[req]; +function webpackEmptyContext(req) { + var e = new Error("Cannot find module '" + req + "'"); + e.code = 'MODULE_NOT_FOUND'; + throw e; } -webpackContext.keys = function webpackContextKeys() { - return Object.keys(map); -}; -webpackContext.resolve = webpackContextResolve; -module.exports = webpackContext; -webpackContext.id = 28; +webpackEmptyContext.keys = () => ([]); +webpackEmptyContext.resolve = webpackEmptyContext; +webpackEmptyContext.id = 28; +module.exports = webpackEmptyContext; /***/ }), -/* 29 */ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -/* module decorator */ module = __webpack_require__.nmd(module); - -try { - process.dlopen(module, __dirname + (__webpack_require__(18).sep) + __webpack_require__.p + "9685b902cdd8cfe7e5676385f52d59ae.node"); -} catch (error) { - throw new Error('node-loader:\n' + error); -} - - -/***/ }), -/* 30 */, -/* 31 */ +/* 29 */, +/* 30 */ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; @@ -2464,8 +2435,8 @@ const requestMetadata_1 = __webpack_require__(3); const requestStatusBarEntry_1 = __webpack_require__(4); const selector_1 = __webpack_require__(5); const workspaceUtility_1 = __webpack_require__(25); -const responseWebView_1 = __webpack_require__(32); -const diffRequestParser_1 = __webpack_require__(33); +const responseWebView_1 = __webpack_require__(31); +const diffRequestParser_1 = __webpack_require__(32); const os = __webpack_require__(6); class DiffController { constructor(context) { @@ -2522,7 +2493,7 @@ exports.DiffController = DiffController; /***/ }), -/* 32 */ +/* 31 */ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; @@ -2563,7 +2534,7 @@ exports.ResponseWebView = ResponseWebView; /***/ }), -/* 33 */ +/* 32 */ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; @@ -2592,7 +2563,7 @@ exports.DiffRequestParser = DiffRequestParser; /***/ }), -/* 34 */ +/* 33 */ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; @@ -2633,7 +2604,7 @@ exports.HttpCodeLensProvider = HttpCodeLensProvider; /***/ }), -/* 35 */ +/* 34 */ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; @@ -2677,40 +2648,6 @@ class RequestVariableHoverProvider { exports.RequestVariableHoverProvider = RequestVariableHoverProvider; -/***/ }), -/* 36 */ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -/* module decorator */ module = __webpack_require__.nmd(module); - -try { - process.dlopen(module, __dirname + (__webpack_require__(18).sep) + __webpack_require__.p + "cd23b70ea4cfc96a438db98b20fb3ba2.node"); -} catch (error) { - throw new Error('node-loader:\n' + error); -} - - -/***/ }), -/* 37 */ -/***/ ((module) => { - -"use strict"; -module.exports = require("util"); - -/***/ }), -/* 38 */, -/* 39 */ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -/* module decorator */ module = __webpack_require__.nmd(module); - -try { - process.dlopen(module, __dirname + (__webpack_require__(18).sep) + __webpack_require__.p + "efc507eedb3e11db5653ce07993ea030.node"); -} catch (error) { - throw new Error('node-loader:\n' + error); -} - - /***/ }) /******/ ]); /************************************************************************/ @@ -2726,17 +2663,14 @@ try { /******/ } /******/ // Create a new module (and put it into the cache) /******/ var module = __webpack_module_cache__[moduleId] = { -/******/ id: moduleId, -/******/ loaded: false, +/******/ // no module.id needed +/******/ // no module.loaded needed /******/ exports: {} /******/ }; /******/ /******/ // Execute the module function /******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); /******/ -/******/ // Flag the module as loaded -/******/ module.loaded = true; -/******/ /******/ // Return the exports of the module /******/ return module.exports; /******/ } @@ -2747,20 +2681,6 @@ try { /******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) /******/ })(); /******/ -/******/ /* webpack/runtime/node module decorator */ -/******/ (() => { -/******/ __webpack_require__.nmd = (module) => { -/******/ module.paths = []; -/******/ if (!module.children) module.children = []; -/******/ return module; -/******/ }; -/******/ })(); -/******/ -/******/ /* webpack/runtime/publicPath */ -/******/ (() => { -/******/ __webpack_require__.p = ""; -/******/ })(); -/******/ /************************************************************************/ var __webpack_exports__ = {}; // This entry needs to be wrapped in an IIFE because it needs to be in strict mode. @@ -2773,9 +2693,9 @@ exports.deactivate = exports.activate = void 0; const vscode = __webpack_require__(1); const vscode_1 = __webpack_require__(1); const requestController_1 = __webpack_require__(2); -const diffController_1 = __webpack_require__(31); -const httpCodeLensProvider_1 = __webpack_require__(34); -const requestVariableHoverProvider_1 = __webpack_require__(35); +const diffController_1 = __webpack_require__(30); +const httpCodeLensProvider_1 = __webpack_require__(33); +const requestVariableHoverProvider_1 = __webpack_require__(34); const os = __webpack_require__(6); function activate(context) { const log = vscode.window.createOutputChannel('CHttp Output'); diff --git a/src/VSCodeExt/dist/extension.js.map b/src/VSCodeExt/dist/extension.js.map index fcb504b..646d9c3 100644 --- a/src/VSCodeExt/dist/extension.js.map +++ b/src/VSCodeExt/dist/extension.js.map @@ -1 +1 @@ -{"version":3,"file":"extension.js","mappings":"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aAAa,aAAa;AAC1B,cAAc,MAAM;AACpB,cAAc,iBAAiB;AAC/B,cAAc,0DAA0D;AACxE,cAAc,SAAS;AACvB,cAAc,SAAS;AACvB,cAAc,aAAa,WAAW;AACtC,cAAc,SAAS;AACvB,cAAc,+BAA+B;AAC7C,cAAc,aAAa;AAC3B,cAAc,kBAAkB;AAChC,cAAc,mBAAmB;AACjC;AACA,cAAc,SAAS;AACvB;AACA;;AAEA;AACA,WAAW,wBAAwB;AACnC,WAAW,QAAQ;AACnB,WAAW,MAAM;AACjB,WAAW,kBAAkB;AAC7B;AACA;AACA,WAAW,mBAAmB;AAC9B;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA,GAAG;AACH;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,YAAY;AACvB,WAAW,QAAQ;AACnB,WAAW,0BAA0B;AACrC,WAAW,QAAQ;AACnB,WAAW,kBAAkB;AAC7B,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa,6BAA6B;AAC1C,eAAe;AACf;AACA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA;AACA,OAAO;AACP,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA,KAAK;AACL,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,IAAI;AACJ;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,MAAM;AACN;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;AACA;AACA,oBAAoB,gBAAgB;AACpC;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,SAAS;AACpC;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,OAAO;AAC3B;AACA;AACA,IAAI;AACJ;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,SAAS;AAC/B;AACA;AACA;AACA;AACA;AACA,uEAAuE;AACvE;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA,WAAW,UAAU;AACrB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA,kBAAkB,OAAO;AACzB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,WAAW,QAAQ;AACnB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA,kBAAkB,OAAO;AACzB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,WAAW,QAAQ;AACnB,aAAa;AACb;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA,qHAAqH,GAAG;AACxH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA,oBAAoB,EAAE;AACtB;AACA,kDAAkD;AAClD;AACA;AACA;AACA;AACA;AACA,gBAAgB,WAAW;AAC3B,aAAa,yBAAyB,OAAO;AAC7C,GAAG;AACH;AACA,eAAe,GAAG,OAAO,GAAG;AAC5B;AACA,aAAa;AACb,sCAAsC;AACtC;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA,gBAAgB;;;;;;;;AClpBhB,+B;;;;;;;;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","sources":["webpack://ladeak-chttp/external commonjs \"vscode\"","webpack://ladeak-chttp/./src/controllers/requestController.ts","webpack://ladeak-chttp/./src/models/requestMetadata.ts","webpack://ladeak-chttp/./src/utils/requestStatusBarEntry.ts","webpack://ladeak-chttp/./src/utils/selector.ts","webpack://ladeak-chttp/external node-commonjs \"os\"","webpack://ladeak-chttp/./src/common/constants.ts","webpack://ladeak-chttp/./src/utils/variableProcessor.ts","webpack://ladeak-chttp/./src/models/variableType.ts","webpack://ladeak-chttp/./src/utils/httpVariableProviders/requestVariableProvider.ts","webpack://ladeak-chttp/./src/models/documentCache.ts","webpack://ladeak-chttp/./src/utils/requestVariableCache.ts","webpack://ladeak-chttp/./src/utils/requestVariableCacheValueProcessor.ts","webpack://ladeak-chttp/./src/utils/mimeUtility.ts","webpack://ladeak-chttp/./node_modules/mime-types/index.js","webpack://ladeak-chttp/./node_modules/mime-db/index.js","webpack://ladeak-chttp/external node-commonjs \"path\"","webpack://ladeak-chttp/./src/utils/misc.ts","webpack://ladeak-chttp/external node-commonjs \"crypto\"","webpack://ladeak-chttp/./src/utils/requestParserUtil.ts","webpack://ladeak-chttp/./node_modules/jsonpath-plus/dist/index-node-cjs.cjs","webpack://ladeak-chttp/external node-commonjs \"vm\"","webpack://ladeak-chttp/./src/utils/httpVariableProviders/fileVariableProvider.ts","webpack://ladeak-chttp/./src/utils/workspaceUtility.ts","webpack://ladeak-chttp/./src/views/httpResponseTextDocumentView.ts","webpack://ladeak-chttp/./src/utils/httpRequestParser.ts","webpack://ladeak-chttp/./src/ sync ^\\.\\/chttp\\-.*\\-.*\\/CHttpExtension\\.node$","webpack://ladeak-chttp/./src/chttp-linux-x64/CHttpExtension.node","webpack://ladeak-chttp/./src/controllers/diffController.ts","webpack://ladeak-chttp/./src/views/responseWebView.ts","webpack://ladeak-chttp/./src/utils/diffRequestParser.ts","webpack://ladeak-chttp/./src/providers/httpCodeLensProvider.ts","webpack://ladeak-chttp/./src/providers/requestVariableHoverProvider.ts","webpack://ladeak-chttp/./src/chttp-linux-x64-old/CHttpExtension.node","webpack://ladeak-chttp/external node-commonjs \"util\"","webpack://ladeak-chttp/./src/chttp-win32-x64/CHttpExtension.node","webpack://ladeak-chttp/webpack/bootstrap","webpack://ladeak-chttp/webpack/runtime/hasOwnProperty shorthand","webpack://ladeak-chttp/webpack/runtime/node module decorator","webpack://ladeak-chttp/webpack/runtime/publicPath","webpack://ladeak-chttp/./src/extension.ts"],"names":[],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"extension.js","mappings":"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AA0B;AACpC,UAAU,QAAQ;AAClB,YAAY;AACZ;;AAEA;AACA;AACA,aAAa,aAAa;AAC1B,cAAc,MAAM;AACpB,cAAc,iBAAiB;AAC/B,cAAc,0DAA0D;AACxE,cAAc,SAAS;AACvB,cAAc,SAAS;AACvB,cAAc,aAAa,WAAW;AACtC,cAAc,SAAS;AACvB,cAAc,+BAA+B;AAC7C,cAAc,aAAa;AAC3B,cAAc,kBAAkB;AAChC,cAAc,mBAAmB;AACjC;AACA,cAAc,SAAS;AACvB;AACA;;AAEA;AACA,WAAW,wBAAwB;AACnC,WAAW,QAAQ;AACnB,WAAW,MAAM;AACjB,WAAW,kBAAkB;AAC7B;AACA;AACA,WAAW,mBAAmB;AAC9B;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA,GAAG;AACH;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,YAAY;AACvB,WAAW,QAAQ;AACnB,WAAW,0BAA0B;AACrC,WAAW,QAAQ;AACnB,WAAW,kBAAkB;AAC7B,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa,6BAA6B;AAC1C,eAAe;AACf;AACA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA;AACA,OAAO;AACP,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA,KAAK;AACL,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,IAAI;AACJ;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,MAAM;AACN;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;AACA;AACA,oBAAoB,gBAAgB;AACpC;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,SAAS;AACpC;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,OAAO;AAC3B;AACA;AACA,IAAI;AACJ;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,SAAS;AAC/B;AACA;AACA;AACA;AACA;AACA,uEAAuE;AACvE;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA,WAAW,UAAU;AACrB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA,kBAAkB,OAAO;AACzB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,WAAW,QAAQ;AACnB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA,kBAAkB,OAAO;AACzB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,WAAW,QAAQ;AACnB,aAAa;AACb;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA,qHAAqH,GAAG;AACxH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA,oBAAoB,EAAE;AACtB;AACA,kDAAkD;AAClD;AACA;AACA;AACA;AACA;AACA,gBAAgB,WAAW;AAC3B,aAAa,yBAAyB,OAAO;AAC7C,GAAG;AACH;AACA,eAAe,GAAG,OAAO,GAAG;AAC5B;AACA,aAAa;AACb,sCAAsC;AACtC;AACA;AACA,GAAG;AACH;A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","sources":["webpack://ladeak-chttp/external commonjs \"vscode\"","webpack://ladeak-chttp/./src/controllers/requestController.ts","webpack://ladeak-chttp/./src/models/requestMetadata.ts","webpack://ladeak-chttp/./src/utils/requestStatusBarEntry.ts","webpack://ladeak-chttp/./src/utils/selector.ts","webpack://ladeak-chttp/external node-commonjs \"os\"","webpack://ladeak-chttp/./src/common/constants.ts","webpack://ladeak-chttp/./src/utils/variableProcessor.ts","webpack://ladeak-chttp/./src/models/variableType.ts","webpack://ladeak-chttp/./src/utils/httpVariableProviders/requestVariableProvider.ts","webpack://ladeak-chttp/./src/models/documentCache.ts","webpack://ladeak-chttp/./src/utils/requestVariableCache.ts","webpack://ladeak-chttp/./src/utils/requestVariableCacheValueProcessor.ts","webpack://ladeak-chttp/./src/utils/mimeUtility.ts","webpack://ladeak-chttp/./node_modules/mime-types/index.js","webpack://ladeak-chttp/./node_modules/mime-db/index.js","webpack://ladeak-chttp/external node-commonjs \"path\"","webpack://ladeak-chttp/./src/utils/misc.ts","webpack://ladeak-chttp/external node-commonjs \"crypto\"","webpack://ladeak-chttp/./src/utils/requestParserUtil.ts","webpack://ladeak-chttp/./node_modules/jsonpath-plus/dist/index-node-cjs.cjs","webpack://ladeak-chttp/external node-commonjs \"vm\"","webpack://ladeak-chttp/./src/utils/httpVariableProviders/fileVariableProvider.ts","webpack://ladeak-chttp/./src/utils/workspaceUtility.ts","webpack://ladeak-chttp/./src/views/httpResponseTextDocumentView.ts","webpack://ladeak-chttp/./src/utils/httpRequestParser.ts","webpack://ladeak-chttp/./src/ sync ^\\.\\/chttp\\-.*\\-.*\\/CHttpExtension\\.node$","webpack://ladeak-chttp/./src/controllers/diffController.ts","webpack://ladeak-chttp/./src/views/responseWebView.ts","webpack://ladeak-chttp/./src/utils/diffRequestParser.ts","webpack://ladeak-chttp/./src/providers/httpCodeLensProvider.ts","webpack://ladeak-chttp/./src/providers/requestVariableHoverProvider.ts","webpack://ladeak-chttp/webpack/bootstrap","webpack://ladeak-chttp/webpack/runtime/hasOwnProperty shorthand","webpack://ladeak-chttp/./src/extension.ts"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/src/VSCodeExt/package-lock.json b/src/VSCodeExt/package-lock.json index cd9bb8a..dbfbf76 100644 --- a/src/VSCodeExt/package-lock.json +++ b/src/VSCodeExt/package-lock.json @@ -11,7 +11,7 @@ "dependencies": { "jsonpath-plus": "^8.1.0", "mime-types": "^2.1.35", - "node-api-dotnet": "^0.9.19" + "node-api-dotnet": "^0.9.25" }, "devDependencies": { "@types/mocha": "^10.0.6", @@ -3949,9 +3949,9 @@ "optional": true }, "node_modules/node-api-dotnet": { - "version": "0.9.21", - "resolved": "https://registry.npmjs.org/node-api-dotnet/-/node-api-dotnet-0.9.21.tgz", - "integrity": "sha512-04LsDXdcPwSe6n/2Ph0wDKPwJFTdiLImcfr0Ecg0Y3lJOSnBisgcXVTJ94/j1VA7sFnK4K2oWRQTP3O58StkZA==", + "version": "0.9.25", + "resolved": "https://registry.npmjs.org/node-api-dotnet/-/node-api-dotnet-0.9.25.tgz", + "integrity": "sha512-atHglGoyZ3ORPzHLSLYMEUgKs5bYB4MQGATJfQNC70x0DwLyxW5cjj/lU8MPB4OK0X6hlBBhouqUlcTaUovUVA==", "license": "MIT" }, "node_modules/node-loader": { diff --git a/src/VSCodeExt/package.json b/src/VSCodeExt/package.json index f8814a6..c7b65d2 100644 --- a/src/VSCodeExt/package.json +++ b/src/VSCodeExt/package.json @@ -92,8 +92,8 @@ "webpack-cli": "^5.1.4" }, "dependencies": { - "mime-types": "^2.1.35", "jsonpath-plus": "^8.1.0", - "node-api-dotnet": "^0.9.19" + "mime-types": "^2.1.35", + "node-api-dotnet": "^0.9.25" } } diff --git a/src/VSCodeExt/src/chttp-linux-x64/CHttp b/src/VSCodeExt/src/chttp-linux-x64/CHttp deleted file mode 100644 index d714cd2..0000000 Binary files a/src/VSCodeExt/src/chttp-linux-x64/CHttp and /dev/null differ diff --git a/src/VSCodeExt/src/chttp-linux-x64/CHttp.deps.json b/src/VSCodeExt/src/chttp-linux-x64/CHttp.deps.json deleted file mode 100644 index 28dbebb..0000000 --- a/src/VSCodeExt/src/chttp-linux-x64/CHttp.deps.json +++ /dev/null @@ -1,434 +0,0 @@ -{ - "runtimeTarget": { - "name": ".NETCoreApp,Version=v10.0/linux-x64", - "signature": "" - }, - "compilationOptions": {}, - "targets": { - ".NETCoreApp,Version=v10.0": {}, - ".NETCoreApp,Version=v10.0/linux-x64": { - "CHttp/1.0.0": { - "dependencies": { - "OpenTelemetry.Exporter.OpenTelemetryProtocol": "1.17.0", - "System.CommandLine": "3.0.0-preview.6.26359.118" - }, - "runtime": { - "CHttp.dll": {} - } - }, - "Microsoft.Extensions.Configuration/10.0.0": { - "dependencies": { - "Microsoft.Extensions.Configuration.Abstractions": "10.0.0", - "Microsoft.Extensions.Primitives": "10.0.0" - }, - "runtime": { - "lib/net10.0/Microsoft.Extensions.Configuration.dll": { - "assemblyVersion": "10.0.0.0", - "fileVersion": "10.0.25.52411", - "localPath": "Microsoft.Extensions.Configuration.dll" - } - } - }, - "Microsoft.Extensions.Configuration.Abstractions/10.0.0": { - "dependencies": { - "Microsoft.Extensions.Primitives": "10.0.0" - }, - "runtime": { - "lib/net10.0/Microsoft.Extensions.Configuration.Abstractions.dll": { - "assemblyVersion": "10.0.0.0", - "fileVersion": "10.0.25.52411", - "localPath": "Microsoft.Extensions.Configuration.Abstractions.dll" - } - } - }, - "Microsoft.Extensions.Configuration.Binder/10.0.0": { - "dependencies": { - "Microsoft.Extensions.Configuration": "10.0.0", - "Microsoft.Extensions.Configuration.Abstractions": "10.0.0" - }, - "runtime": { - "lib/net10.0/Microsoft.Extensions.Configuration.Binder.dll": { - "assemblyVersion": "10.0.0.0", - "fileVersion": "10.0.25.52411", - "localPath": "Microsoft.Extensions.Configuration.Binder.dll" - } - } - }, - "Microsoft.Extensions.Configuration.EnvironmentVariables/10.0.0": { - "dependencies": { - "Microsoft.Extensions.Configuration": "10.0.0", - "Microsoft.Extensions.Configuration.Abstractions": "10.0.0" - }, - "runtime": { - "lib/net10.0/Microsoft.Extensions.Configuration.EnvironmentVariables.dll": { - "assemblyVersion": "10.0.0.0", - "fileVersion": "10.0.25.52411", - "localPath": "Microsoft.Extensions.Configuration.EnvironmentVariables.dll" - } - } - }, - "Microsoft.Extensions.DependencyInjection/10.0.0": { - "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0" - }, - "runtime": { - "lib/net10.0/Microsoft.Extensions.DependencyInjection.dll": { - "assemblyVersion": "10.0.0.0", - "fileVersion": "10.0.25.52411", - "localPath": "Microsoft.Extensions.DependencyInjection.dll" - } - } - }, - "Microsoft.Extensions.DependencyInjection.Abstractions/10.0.0": { - "runtime": { - "lib/net10.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": { - "assemblyVersion": "10.0.0.0", - "fileVersion": "10.0.25.52411", - "localPath": "Microsoft.Extensions.DependencyInjection.Abstractions.dll" - } - } - }, - "Microsoft.Extensions.Diagnostics.Abstractions/10.0.0": { - "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0", - "Microsoft.Extensions.Options": "10.0.0" - }, - "runtime": { - "lib/net10.0/Microsoft.Extensions.Diagnostics.Abstractions.dll": { - "assemblyVersion": "10.0.0.0", - "fileVersion": "10.0.25.52411", - "localPath": "Microsoft.Extensions.Diagnostics.Abstractions.dll" - } - } - }, - "Microsoft.Extensions.Logging/10.0.0": { - "dependencies": { - "Microsoft.Extensions.DependencyInjection": "10.0.0", - "Microsoft.Extensions.Logging.Abstractions": "10.0.0", - "Microsoft.Extensions.Options": "10.0.0" - }, - "runtime": { - "lib/net10.0/Microsoft.Extensions.Logging.dll": { - "assemblyVersion": "10.0.0.0", - "fileVersion": "10.0.25.52411", - "localPath": "Microsoft.Extensions.Logging.dll" - } - } - }, - "Microsoft.Extensions.Logging.Abstractions/10.0.0": { - "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0" - }, - "runtime": { - "lib/net10.0/Microsoft.Extensions.Logging.Abstractions.dll": { - "assemblyVersion": "10.0.0.0", - "fileVersion": "10.0.25.52411", - "localPath": "Microsoft.Extensions.Logging.Abstractions.dll" - } - } - }, - "Microsoft.Extensions.Logging.Configuration/10.0.0": { - "dependencies": { - "Microsoft.Extensions.Configuration": "10.0.0", - "Microsoft.Extensions.Configuration.Abstractions": "10.0.0", - "Microsoft.Extensions.Configuration.Binder": "10.0.0", - "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0", - "Microsoft.Extensions.Logging": "10.0.0", - "Microsoft.Extensions.Logging.Abstractions": "10.0.0", - "Microsoft.Extensions.Options": "10.0.0", - "Microsoft.Extensions.Options.ConfigurationExtensions": "10.0.0" - }, - "runtime": { - "lib/net10.0/Microsoft.Extensions.Logging.Configuration.dll": { - "assemblyVersion": "10.0.0.0", - "fileVersion": "10.0.25.52411", - "localPath": "Microsoft.Extensions.Logging.Configuration.dll" - } - } - }, - "Microsoft.Extensions.Options/10.0.0": { - "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0", - "Microsoft.Extensions.Primitives": "10.0.0" - }, - "runtime": { - "lib/net10.0/Microsoft.Extensions.Options.dll": { - "assemblyVersion": "10.0.0.0", - "fileVersion": "10.0.25.52411", - "localPath": "Microsoft.Extensions.Options.dll" - } - } - }, - "Microsoft.Extensions.Options.ConfigurationExtensions/10.0.0": { - "dependencies": { - "Microsoft.Extensions.Configuration.Abstractions": "10.0.0", - "Microsoft.Extensions.Configuration.Binder": "10.0.0", - "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0", - "Microsoft.Extensions.Options": "10.0.0", - "Microsoft.Extensions.Primitives": "10.0.0" - }, - "runtime": { - "lib/net10.0/Microsoft.Extensions.Options.ConfigurationExtensions.dll": { - "assemblyVersion": "10.0.0.0", - "fileVersion": "10.0.25.52411", - "localPath": "Microsoft.Extensions.Options.ConfigurationExtensions.dll" - } - } - }, - "Microsoft.Extensions.Primitives/10.0.0": { - "runtime": { - "lib/net10.0/Microsoft.Extensions.Primitives.dll": { - "assemblyVersion": "10.0.0.0", - "fileVersion": "10.0.25.52411", - "localPath": "Microsoft.Extensions.Primitives.dll" - } - } - }, - "OpenTelemetry/1.17.0": { - "dependencies": { - "Microsoft.Extensions.Configuration.EnvironmentVariables": "10.0.0", - "Microsoft.Extensions.Diagnostics.Abstractions": "10.0.0", - "Microsoft.Extensions.Logging.Configuration": "10.0.0", - "OpenTelemetry.Api.ProviderBuilderExtensions": "1.17.0" - }, - "runtime": { - "lib/net10.0/OpenTelemetry.dll": { - "assemblyVersion": "1.0.0.0", - "fileVersion": "1.17.0.2115", - "localPath": "OpenTelemetry.dll" - } - } - }, - "OpenTelemetry.Api/1.17.0": { - "runtime": { - "lib/net10.0/OpenTelemetry.Api.dll": { - "assemblyVersion": "1.0.0.0", - "fileVersion": "1.17.0.2115", - "localPath": "OpenTelemetry.Api.dll" - } - } - }, - "OpenTelemetry.Api.ProviderBuilderExtensions/1.17.0": { - "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0", - "OpenTelemetry.Api": "1.17.0" - }, - "runtime": { - "lib/net10.0/OpenTelemetry.Api.ProviderBuilderExtensions.dll": { - "assemblyVersion": "1.0.0.0", - "fileVersion": "1.17.0.2115", - "localPath": "OpenTelemetry.Api.ProviderBuilderExtensions.dll" - } - } - }, - "OpenTelemetry.Exporter.OpenTelemetryProtocol/1.17.0": { - "dependencies": { - "OpenTelemetry": "1.17.0" - }, - "runtime": { - "lib/net10.0/OpenTelemetry.Exporter.OpenTelemetryProtocol.dll": { - "assemblyVersion": "1.0.0.0", - "fileVersion": "1.17.0.2115", - "localPath": "OpenTelemetry.Exporter.OpenTelemetryProtocol.dll" - } - } - }, - "System.CommandLine/3.0.0-preview.6.26359.118": { - "runtime": { - "lib/net10.0/System.CommandLine.dll": { - "assemblyVersion": "3.0.0.0", - "fileVersion": "3.0.26.36018", - "localPath": "System.CommandLine.dll" - } - }, - "resources": { - "lib/net10.0/cs/System.CommandLine.resources.dll": { - "locale": "cs", - "localPath": "cs/System.CommandLine.resources.dll" - }, - "lib/net10.0/de/System.CommandLine.resources.dll": { - "locale": "de", - "localPath": "de/System.CommandLine.resources.dll" - }, - "lib/net10.0/es/System.CommandLine.resources.dll": { - "locale": "es", - "localPath": "es/System.CommandLine.resources.dll" - }, - "lib/net10.0/fr/System.CommandLine.resources.dll": { - "locale": "fr", - "localPath": "fr/System.CommandLine.resources.dll" - }, - "lib/net10.0/it/System.CommandLine.resources.dll": { - "locale": "it", - "localPath": "it/System.CommandLine.resources.dll" - }, - "lib/net10.0/ja/System.CommandLine.resources.dll": { - "locale": "ja", - "localPath": "ja/System.CommandLine.resources.dll" - }, - "lib/net10.0/ko/System.CommandLine.resources.dll": { - "locale": "ko", - "localPath": "ko/System.CommandLine.resources.dll" - }, - "lib/net10.0/pl/System.CommandLine.resources.dll": { - "locale": "pl", - "localPath": "pl/System.CommandLine.resources.dll" - }, - "lib/net10.0/pt-BR/System.CommandLine.resources.dll": { - "locale": "pt-BR", - "localPath": "pt-BR/System.CommandLine.resources.dll" - }, - "lib/net10.0/ru/System.CommandLine.resources.dll": { - "locale": "ru", - "localPath": "ru/System.CommandLine.resources.dll" - }, - "lib/net10.0/tr/System.CommandLine.resources.dll": { - "locale": "tr", - "localPath": "tr/System.CommandLine.resources.dll" - }, - "lib/net10.0/zh-Hans/System.CommandLine.resources.dll": { - "locale": "zh-Hans", - "localPath": "zh-Hans/System.CommandLine.resources.dll" - }, - "lib/net10.0/zh-Hant/System.CommandLine.resources.dll": { - "locale": "zh-Hant", - "localPath": "zh-Hant/System.CommandLine.resources.dll" - } - } - } - } - }, - "libraries": { - "CHttp/1.0.0": { - "type": "project", - "serviceable": false, - "sha512": "" - }, - "Microsoft.Extensions.Configuration/10.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-H4SWETCh/cC5L1WtWchHR6LntGk3rDTTznZMssr4cL8IbDmMWBxY+MOGDc/ASnqNolLKPIWHWeuC1ddiL/iNPw==", - "path": "microsoft.extensions.configuration/10.0.0", - "hashPath": "microsoft.extensions.configuration.10.0.0.nupkg.sha512" - }, - "Microsoft.Extensions.Configuration.Abstractions/10.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-d2kDKnCsJvY7mBVhcjPSp9BkJk48DsaHPg5u+Oy4f8XaOqnEedRy/USyvnpHL92wpJ6DrTPy7htppUUzskbCXQ==", - "path": "microsoft.extensions.configuration.abstractions/10.0.0", - "hashPath": "microsoft.extensions.configuration.abstractions.10.0.0.nupkg.sha512" - }, - "Microsoft.Extensions.Configuration.Binder/10.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-tMF9wNh+hlyYDWB8mrFCQHQmWHlRosol1b/N2Jrefy1bFLnuTlgSYmPyHNmz8xVQgs7DpXytBRWxGhG+mSTp0g==", - "path": "microsoft.extensions.configuration.binder/10.0.0", - "hashPath": "microsoft.extensions.configuration.binder.10.0.0.nupkg.sha512" - }, - "Microsoft.Extensions.Configuration.EnvironmentVariables/10.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-TmFegsI/uCdwMBD4yKpmO+OkjVNHQL49Dh/ep83NI5rPUEoBK9OdsJo1zURc1A2FuS/R/Pos3wsTjlyLnguBLA==", - "path": "microsoft.extensions.configuration.environmentvariables/10.0.0", - "hashPath": "microsoft.extensions.configuration.environmentvariables.10.0.0.nupkg.sha512" - }, - "Microsoft.Extensions.DependencyInjection/10.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-f0RBabswJq+gRu5a+hWIobrLWiUYPKMhCD9WO3sYBAdSy3FFH14LMvLVFZc2kPSCimBLxSuitUhsd6tb0TAY6A==", - "path": "microsoft.extensions.dependencyinjection/10.0.0", - "hashPath": "microsoft.extensions.dependencyinjection.10.0.0.nupkg.sha512" - }, - "Microsoft.Extensions.DependencyInjection.Abstractions/10.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-L3AdmZ1WOK4XXT5YFPEwyt0ep6l8lGIPs7F5OOBZc77Zqeo01Of7XXICy47628sdVl0v/owxYJTe86DTgFwKCA==", - "path": "microsoft.extensions.dependencyinjection.abstractions/10.0.0", - "hashPath": "microsoft.extensions.dependencyinjection.abstractions.10.0.0.nupkg.sha512" - }, - "Microsoft.Extensions.Diagnostics.Abstractions/10.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-SfK89ytD61S7DgzorFljSkUeluC1ncn6dtZgwc0ot39f/BEYWBl5jpgvodxduoYAs1d9HG8faCDRZxE95UMo2A==", - "path": "microsoft.extensions.diagnostics.abstractions/10.0.0", - "hashPath": "microsoft.extensions.diagnostics.abstractions.10.0.0.nupkg.sha512" - }, - "Microsoft.Extensions.Logging/10.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-BStFkd5CcnEtarlcgYDBcFzGYCuuNMzPs02wN3WBsOFoYIEmYoUdAiU+au6opzoqfTYJsMTW00AeqDdnXH2CvA==", - "path": "microsoft.extensions.logging/10.0.0", - "hashPath": "microsoft.extensions.logging.10.0.0.nupkg.sha512" - }, - "Microsoft.Extensions.Logging.Abstractions/10.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-FU/IfjDfwaMuKr414SSQNTIti/69bHEMb+QKrskRb26oVqpx3lNFXMjs/RC9ZUuhBhcwDM2BwOgoMw+PZ+beqQ==", - "path": "microsoft.extensions.logging.abstractions/10.0.0", - "hashPath": "microsoft.extensions.logging.abstractions.10.0.0.nupkg.sha512" - }, - "Microsoft.Extensions.Logging.Configuration/10.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-j8zcwhS6bYB6FEfaY3nYSgHdpiL2T+/V3xjpHtslVAegyI1JUbB9yAt/BFdvZdsNbY0Udm4xFtvfT/hUwcOOOg==", - "path": "microsoft.extensions.logging.configuration/10.0.0", - "hashPath": "microsoft.extensions.logging.configuration.10.0.0.nupkg.sha512" - }, - "Microsoft.Extensions.Options/10.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-8oCAgXOow5XDrY9HaXX1QmH3ORsyZO/ANVHBlhLyCeWTH5Sg4UuqZeOTWJi6484M+LqSx0RqQXDJtdYy2BNiLQ==", - "path": "microsoft.extensions.options/10.0.0", - "hashPath": "microsoft.extensions.options.10.0.0.nupkg.sha512" - }, - "Microsoft.Extensions.Options.ConfigurationExtensions/10.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-tL9cSl3maS5FPzp/3MtlZI21ExWhni0nnUCF8HY4npTsINw45n9SNDbkKXBMtFyUFGSsQep25fHIDN4f/Vp3AQ==", - "path": "microsoft.extensions.options.configurationextensions/10.0.0", - "hashPath": "microsoft.extensions.options.configurationextensions.10.0.0.nupkg.sha512" - }, - "Microsoft.Extensions.Primitives/10.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-inRnbpCS0nwO/RuoZIAqxQUuyjaknOOnCEZB55KSMMjRhl0RQDttSmLSGsUJN3RQ3ocf5NDLFd2mOQViHqMK5w==", - "path": "microsoft.extensions.primitives/10.0.0", - "hashPath": "microsoft.extensions.primitives.10.0.0.nupkg.sha512" - }, - "OpenTelemetry/1.17.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-rMLOTftlMlTm7+MSrvXDHnJRjVkROFNKXHZrYjOsX+LankaFG7QSflx7qRRGjoqZoirohnxmJQ7GEb9occO4Gg==", - "path": "opentelemetry/1.17.0", - "hashPath": "opentelemetry.1.17.0.nupkg.sha512" - }, - "OpenTelemetry.Api/1.17.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-mSBxzomZgHIJu9CyVNqyDu/n2JHEtqVgfcCD1Br0cV5iLYogjZOMqhlVLt99PEp+0KGBNUR3GXgeOdN2GR3F9g==", - "path": "opentelemetry.api/1.17.0", - "hashPath": "opentelemetry.api.1.17.0.nupkg.sha512" - }, - "OpenTelemetry.Api.ProviderBuilderExtensions/1.17.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-Xgc3Qf9B9TFMFpx6exTdGqMWuYIT2miNzkdMPutVvT9YuMFaEovXWke1Gb6z8NxYaQbbGF38vYLuSg1JCeui5Q==", - "path": "opentelemetry.api.providerbuilderextensions/1.17.0", - "hashPath": "opentelemetry.api.providerbuilderextensions.1.17.0.nupkg.sha512" - }, - "OpenTelemetry.Exporter.OpenTelemetryProtocol/1.17.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-R1omQOrQpGlS0Cp5UIr/TAiuEA48JrPlgr1NPV5gESiTU7HhWU+ILe2EBSYb1fKdsSavZ7nZkHcUxAzofPqr2A==", - "path": "opentelemetry.exporter.opentelemetryprotocol/1.17.0", - "hashPath": "opentelemetry.exporter.opentelemetryprotocol.1.17.0.nupkg.sha512" - }, - "System.CommandLine/3.0.0-preview.6.26359.118": { - "type": "package", - "serviceable": true, - "sha512": "sha512-7Nns1GZb2/XGDj+mmQ+MRn7VL7TbkJoFhWaXl1VWc3pxPT5CWag3UzftaqO3w4zYDT+aOozGsjPOFrngqSu3dA==", - "path": "system.commandline/3.0.0-preview.6.26359.118", - "hashPath": "system.commandline.3.0.0-preview.6.26359.118.nupkg.sha512" - } - } -} \ No newline at end of file diff --git a/src/VSCodeExt/src/chttp-linux-x64/CHttp.runtimeconfig.json b/src/VSCodeExt/src/chttp-linux-x64/CHttp.runtimeconfig.json deleted file mode 100644 index 66f58d7..0000000 --- a/src/VSCodeExt/src/chttp-linux-x64/CHttp.runtimeconfig.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "runtimeOptions": { - "tfm": "net10.0", - "rollForward": "major", - "framework": { - "name": "Microsoft.NETCore.App", - "version": "10.0.0" - }, - "configProperties": { - "System.GC.Server": true, - "System.Reflection.Metadata.MetadataUpdater.IsSupported": false, - "System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization": false - } - } -} \ No newline at end of file diff --git a/src/VSCodeExt/src/chttp-linux-x64/CHttpExtension.node b/src/VSCodeExt/src/chttp-linux-x64/CHttpExtension.node deleted file mode 100644 index 1bbcbff..0000000 Binary files a/src/VSCodeExt/src/chttp-linux-x64/CHttpExtension.node and /dev/null differ diff --git a/src/VSCodeExt/src/chttp-linux-x64/import.cjs b/src/VSCodeExt/src/chttp-linux-x64/import.cjs deleted file mode 100644 index 0dc1fd5..0000000 --- a/src/VSCodeExt/src/chttp-linux-x64/import.cjs +++ /dev/null @@ -1,3 +0,0 @@ -// This module wraps the ES import keyword in a CommonJS function, -// to enable directly importing ES modules into .NET. -module.exports = function importModule(modulePath) { return import(modulePath); }; diff --git a/src/VSCodeExt/src/chttp-win32-x64/CHttp.deps.json b/src/VSCodeExt/src/chttp-win32-x64/CHttp.deps.json index 22a0d86..f56426d 100644 --- a/src/VSCodeExt/src/chttp-win32-x64/CHttp.deps.json +++ b/src/VSCodeExt/src/chttp-win32-x64/CHttp.deps.json @@ -1,198 +1,197 @@ { "runtimeTarget": { - "name": ".NETCoreApp,Version=v10.0/win-x64", + "name": ".NETCoreApp,Version=v9.0/win-x64", "signature": "" }, "compilationOptions": {}, "targets": { - ".NETCoreApp,Version=v10.0": {}, - ".NETCoreApp,Version=v10.0/win-x64": { + ".NETCoreApp,Version=v9.0": {}, + ".NETCoreApp,Version=v9.0/win-x64": { "CHttp/1.0.0": { "dependencies": { "OpenTelemetry.Exporter.OpenTelemetryProtocol": "1.17.0", - "System.CommandLine": "3.0.0-preview.6.26359.118" + "System.CommandLine": "3.0.0-preview.7.26381.103" }, "runtime": { "CHttp.dll": {} } }, - "Microsoft.Extensions.Configuration/10.0.0": { + "Microsoft.Extensions.Configuration/9.0.0": { "dependencies": { - "Microsoft.Extensions.Configuration.Abstractions": "10.0.0", - "Microsoft.Extensions.Primitives": "10.0.0" + "Microsoft.Extensions.Configuration.Abstractions": "9.0.0", + "Microsoft.Extensions.Primitives": "9.0.0" }, "runtime": { - "lib/net10.0/Microsoft.Extensions.Configuration.dll": { - "assemblyVersion": "10.0.0.0", - "fileVersion": "10.0.25.52411", + "lib/net9.0/Microsoft.Extensions.Configuration.dll": { + "assemblyVersion": "9.0.0.0", + "fileVersion": "9.0.24.52809", "localPath": "Microsoft.Extensions.Configuration.dll" } } }, - "Microsoft.Extensions.Configuration.Abstractions/10.0.0": { + "Microsoft.Extensions.Configuration.Abstractions/9.0.0": { "dependencies": { - "Microsoft.Extensions.Primitives": "10.0.0" + "Microsoft.Extensions.Primitives": "9.0.0" }, "runtime": { - "lib/net10.0/Microsoft.Extensions.Configuration.Abstractions.dll": { - "assemblyVersion": "10.0.0.0", - "fileVersion": "10.0.25.52411", + "lib/net9.0/Microsoft.Extensions.Configuration.Abstractions.dll": { + "assemblyVersion": "9.0.0.0", + "fileVersion": "9.0.24.52809", "localPath": "Microsoft.Extensions.Configuration.Abstractions.dll" } } }, - "Microsoft.Extensions.Configuration.Binder/10.0.0": { + "Microsoft.Extensions.Configuration.Binder/9.0.0": { "dependencies": { - "Microsoft.Extensions.Configuration": "10.0.0", - "Microsoft.Extensions.Configuration.Abstractions": "10.0.0" + "Microsoft.Extensions.Configuration.Abstractions": "9.0.0" }, "runtime": { - "lib/net10.0/Microsoft.Extensions.Configuration.Binder.dll": { - "assemblyVersion": "10.0.0.0", - "fileVersion": "10.0.25.52411", + "lib/net9.0/Microsoft.Extensions.Configuration.Binder.dll": { + "assemblyVersion": "9.0.0.0", + "fileVersion": "9.0.24.52809", "localPath": "Microsoft.Extensions.Configuration.Binder.dll" } } }, - "Microsoft.Extensions.Configuration.EnvironmentVariables/10.0.0": { + "Microsoft.Extensions.Configuration.EnvironmentVariables/9.0.0": { "dependencies": { - "Microsoft.Extensions.Configuration": "10.0.0", - "Microsoft.Extensions.Configuration.Abstractions": "10.0.0" + "Microsoft.Extensions.Configuration": "9.0.0", + "Microsoft.Extensions.Configuration.Abstractions": "9.0.0" }, "runtime": { - "lib/net10.0/Microsoft.Extensions.Configuration.EnvironmentVariables.dll": { - "assemblyVersion": "10.0.0.0", - "fileVersion": "10.0.25.52411", + "lib/net9.0/Microsoft.Extensions.Configuration.EnvironmentVariables.dll": { + "assemblyVersion": "9.0.0.0", + "fileVersion": "9.0.24.52809", "localPath": "Microsoft.Extensions.Configuration.EnvironmentVariables.dll" } } }, - "Microsoft.Extensions.DependencyInjection/10.0.0": { + "Microsoft.Extensions.DependencyInjection/9.0.0": { "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0" + "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.0" }, "runtime": { - "lib/net10.0/Microsoft.Extensions.DependencyInjection.dll": { - "assemblyVersion": "10.0.0.0", - "fileVersion": "10.0.25.52411", + "lib/net9.0/Microsoft.Extensions.DependencyInjection.dll": { + "assemblyVersion": "9.0.0.0", + "fileVersion": "9.0.24.52809", "localPath": "Microsoft.Extensions.DependencyInjection.dll" } } }, - "Microsoft.Extensions.DependencyInjection.Abstractions/10.0.0": { + "Microsoft.Extensions.DependencyInjection.Abstractions/9.0.0": { "runtime": { - "lib/net10.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": { - "assemblyVersion": "10.0.0.0", - "fileVersion": "10.0.25.52411", + "lib/net9.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": { + "assemblyVersion": "9.0.0.0", + "fileVersion": "9.0.24.52809", "localPath": "Microsoft.Extensions.DependencyInjection.Abstractions.dll" } } }, - "Microsoft.Extensions.Diagnostics.Abstractions/10.0.0": { + "Microsoft.Extensions.Diagnostics.Abstractions/9.0.0": { "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0", - "Microsoft.Extensions.Options": "10.0.0" + "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.0", + "Microsoft.Extensions.Options": "9.0.0" }, "runtime": { - "lib/net10.0/Microsoft.Extensions.Diagnostics.Abstractions.dll": { - "assemblyVersion": "10.0.0.0", - "fileVersion": "10.0.25.52411", + "lib/net9.0/Microsoft.Extensions.Diagnostics.Abstractions.dll": { + "assemblyVersion": "9.0.0.0", + "fileVersion": "9.0.24.52809", "localPath": "Microsoft.Extensions.Diagnostics.Abstractions.dll" } } }, - "Microsoft.Extensions.Logging/10.0.0": { + "Microsoft.Extensions.Logging/9.0.0": { "dependencies": { - "Microsoft.Extensions.DependencyInjection": "10.0.0", - "Microsoft.Extensions.Logging.Abstractions": "10.0.0", - "Microsoft.Extensions.Options": "10.0.0" + "Microsoft.Extensions.DependencyInjection": "9.0.0", + "Microsoft.Extensions.Logging.Abstractions": "9.0.0", + "Microsoft.Extensions.Options": "9.0.0" }, "runtime": { - "lib/net10.0/Microsoft.Extensions.Logging.dll": { - "assemblyVersion": "10.0.0.0", - "fileVersion": "10.0.25.52411", + "lib/net9.0/Microsoft.Extensions.Logging.dll": { + "assemblyVersion": "9.0.0.0", + "fileVersion": "9.0.24.52809", "localPath": "Microsoft.Extensions.Logging.dll" } } }, - "Microsoft.Extensions.Logging.Abstractions/10.0.0": { + "Microsoft.Extensions.Logging.Abstractions/9.0.0": { "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0" + "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.0" }, "runtime": { - "lib/net10.0/Microsoft.Extensions.Logging.Abstractions.dll": { - "assemblyVersion": "10.0.0.0", - "fileVersion": "10.0.25.52411", + "lib/net9.0/Microsoft.Extensions.Logging.Abstractions.dll": { + "assemblyVersion": "9.0.0.0", + "fileVersion": "9.0.24.52809", "localPath": "Microsoft.Extensions.Logging.Abstractions.dll" } } }, - "Microsoft.Extensions.Logging.Configuration/10.0.0": { + "Microsoft.Extensions.Logging.Configuration/9.0.0": { "dependencies": { - "Microsoft.Extensions.Configuration": "10.0.0", - "Microsoft.Extensions.Configuration.Abstractions": "10.0.0", - "Microsoft.Extensions.Configuration.Binder": "10.0.0", - "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0", - "Microsoft.Extensions.Logging": "10.0.0", - "Microsoft.Extensions.Logging.Abstractions": "10.0.0", - "Microsoft.Extensions.Options": "10.0.0", - "Microsoft.Extensions.Options.ConfigurationExtensions": "10.0.0" + "Microsoft.Extensions.Configuration": "9.0.0", + "Microsoft.Extensions.Configuration.Abstractions": "9.0.0", + "Microsoft.Extensions.Configuration.Binder": "9.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.0", + "Microsoft.Extensions.Logging": "9.0.0", + "Microsoft.Extensions.Logging.Abstractions": "9.0.0", + "Microsoft.Extensions.Options": "9.0.0", + "Microsoft.Extensions.Options.ConfigurationExtensions": "9.0.0" }, "runtime": { - "lib/net10.0/Microsoft.Extensions.Logging.Configuration.dll": { - "assemblyVersion": "10.0.0.0", - "fileVersion": "10.0.25.52411", + "lib/net9.0/Microsoft.Extensions.Logging.Configuration.dll": { + "assemblyVersion": "9.0.0.0", + "fileVersion": "9.0.24.52809", "localPath": "Microsoft.Extensions.Logging.Configuration.dll" } } }, - "Microsoft.Extensions.Options/10.0.0": { + "Microsoft.Extensions.Options/9.0.0": { "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0", - "Microsoft.Extensions.Primitives": "10.0.0" + "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.0", + "Microsoft.Extensions.Primitives": "9.0.0" }, "runtime": { - "lib/net10.0/Microsoft.Extensions.Options.dll": { - "assemblyVersion": "10.0.0.0", - "fileVersion": "10.0.25.52411", + "lib/net9.0/Microsoft.Extensions.Options.dll": { + "assemblyVersion": "9.0.0.0", + "fileVersion": "9.0.24.52809", "localPath": "Microsoft.Extensions.Options.dll" } } }, - "Microsoft.Extensions.Options.ConfigurationExtensions/10.0.0": { + "Microsoft.Extensions.Options.ConfigurationExtensions/9.0.0": { "dependencies": { - "Microsoft.Extensions.Configuration.Abstractions": "10.0.0", - "Microsoft.Extensions.Configuration.Binder": "10.0.0", - "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0", - "Microsoft.Extensions.Options": "10.0.0", - "Microsoft.Extensions.Primitives": "10.0.0" + "Microsoft.Extensions.Configuration.Abstractions": "9.0.0", + "Microsoft.Extensions.Configuration.Binder": "9.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.0", + "Microsoft.Extensions.Options": "9.0.0", + "Microsoft.Extensions.Primitives": "9.0.0" }, "runtime": { - "lib/net10.0/Microsoft.Extensions.Options.ConfigurationExtensions.dll": { - "assemblyVersion": "10.0.0.0", - "fileVersion": "10.0.25.52411", + "lib/net9.0/Microsoft.Extensions.Options.ConfigurationExtensions.dll": { + "assemblyVersion": "9.0.0.0", + "fileVersion": "9.0.24.52809", "localPath": "Microsoft.Extensions.Options.ConfigurationExtensions.dll" } } }, - "Microsoft.Extensions.Primitives/10.0.0": { + "Microsoft.Extensions.Primitives/9.0.0": { "runtime": { - "lib/net10.0/Microsoft.Extensions.Primitives.dll": { - "assemblyVersion": "10.0.0.0", - "fileVersion": "10.0.25.52411", + "lib/net9.0/Microsoft.Extensions.Primitives.dll": { + "assemblyVersion": "9.0.0.0", + "fileVersion": "9.0.24.52809", "localPath": "Microsoft.Extensions.Primitives.dll" } } }, "OpenTelemetry/1.17.0": { "dependencies": { - "Microsoft.Extensions.Configuration.EnvironmentVariables": "10.0.0", - "Microsoft.Extensions.Diagnostics.Abstractions": "10.0.0", - "Microsoft.Extensions.Logging.Configuration": "10.0.0", + "Microsoft.Extensions.Configuration.EnvironmentVariables": "9.0.0", + "Microsoft.Extensions.Diagnostics.Abstractions": "9.0.0", + "Microsoft.Extensions.Logging.Configuration": "9.0.0", "OpenTelemetry.Api.ProviderBuilderExtensions": "1.17.0" }, "runtime": { - "lib/net10.0/OpenTelemetry.dll": { + "lib/net9.0/OpenTelemetry.dll": { "assemblyVersion": "1.0.0.0", "fileVersion": "1.17.0.2115", "localPath": "OpenTelemetry.dll" @@ -200,8 +199,11 @@ } }, "OpenTelemetry.Api/1.17.0": { + "dependencies": { + "System.Diagnostics.DiagnosticSource": "10.0.0" + }, "runtime": { - "lib/net10.0/OpenTelemetry.Api.dll": { + "lib/net9.0/OpenTelemetry.Api.dll": { "assemblyVersion": "1.0.0.0", "fileVersion": "1.17.0.2115", "localPath": "OpenTelemetry.Api.dll" @@ -210,11 +212,11 @@ }, "OpenTelemetry.Api.ProviderBuilderExtensions/1.17.0": { "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.0", "OpenTelemetry.Api": "1.17.0" }, "runtime": { - "lib/net10.0/OpenTelemetry.Api.ProviderBuilderExtensions.dll": { + "lib/net9.0/OpenTelemetry.Api.ProviderBuilderExtensions.dll": { "assemblyVersion": "1.0.0.0", "fileVersion": "1.17.0.2115", "localPath": "OpenTelemetry.Api.ProviderBuilderExtensions.dll" @@ -226,75 +228,84 @@ "OpenTelemetry": "1.17.0" }, "runtime": { - "lib/net10.0/OpenTelemetry.Exporter.OpenTelemetryProtocol.dll": { + "lib/net9.0/OpenTelemetry.Exporter.OpenTelemetryProtocol.dll": { "assemblyVersion": "1.0.0.0", "fileVersion": "1.17.0.2115", "localPath": "OpenTelemetry.Exporter.OpenTelemetryProtocol.dll" } } }, - "System.CommandLine/3.0.0-preview.6.26359.118": { + "System.CommandLine/3.0.0-preview.7.26381.103": { "runtime": { - "lib/net10.0/System.CommandLine.dll": { + "lib/netstandard2.0/System.CommandLine.dll": { "assemblyVersion": "3.0.0.0", - "fileVersion": "3.0.26.36018", + "fileVersion": "3.0.26.38203", "localPath": "System.CommandLine.dll" } }, "resources": { - "lib/net10.0/cs/System.CommandLine.resources.dll": { + "lib/netstandard2.0/cs/System.CommandLine.resources.dll": { "locale": "cs", "localPath": "cs/System.CommandLine.resources.dll" }, - "lib/net10.0/de/System.CommandLine.resources.dll": { + "lib/netstandard2.0/de/System.CommandLine.resources.dll": { "locale": "de", "localPath": "de/System.CommandLine.resources.dll" }, - "lib/net10.0/es/System.CommandLine.resources.dll": { + "lib/netstandard2.0/es/System.CommandLine.resources.dll": { "locale": "es", "localPath": "es/System.CommandLine.resources.dll" }, - "lib/net10.0/fr/System.CommandLine.resources.dll": { + "lib/netstandard2.0/fr/System.CommandLine.resources.dll": { "locale": "fr", "localPath": "fr/System.CommandLine.resources.dll" }, - "lib/net10.0/it/System.CommandLine.resources.dll": { + "lib/netstandard2.0/it/System.CommandLine.resources.dll": { "locale": "it", "localPath": "it/System.CommandLine.resources.dll" }, - "lib/net10.0/ja/System.CommandLine.resources.dll": { + "lib/netstandard2.0/ja/System.CommandLine.resources.dll": { "locale": "ja", "localPath": "ja/System.CommandLine.resources.dll" }, - "lib/net10.0/ko/System.CommandLine.resources.dll": { + "lib/netstandard2.0/ko/System.CommandLine.resources.dll": { "locale": "ko", "localPath": "ko/System.CommandLine.resources.dll" }, - "lib/net10.0/pl/System.CommandLine.resources.dll": { + "lib/netstandard2.0/pl/System.CommandLine.resources.dll": { "locale": "pl", "localPath": "pl/System.CommandLine.resources.dll" }, - "lib/net10.0/pt-BR/System.CommandLine.resources.dll": { + "lib/netstandard2.0/pt-BR/System.CommandLine.resources.dll": { "locale": "pt-BR", "localPath": "pt-BR/System.CommandLine.resources.dll" }, - "lib/net10.0/ru/System.CommandLine.resources.dll": { + "lib/netstandard2.0/ru/System.CommandLine.resources.dll": { "locale": "ru", "localPath": "ru/System.CommandLine.resources.dll" }, - "lib/net10.0/tr/System.CommandLine.resources.dll": { + "lib/netstandard2.0/tr/System.CommandLine.resources.dll": { "locale": "tr", "localPath": "tr/System.CommandLine.resources.dll" }, - "lib/net10.0/zh-Hans/System.CommandLine.resources.dll": { + "lib/netstandard2.0/zh-Hans/System.CommandLine.resources.dll": { "locale": "zh-Hans", "localPath": "zh-Hans/System.CommandLine.resources.dll" }, - "lib/net10.0/zh-Hant/System.CommandLine.resources.dll": { + "lib/netstandard2.0/zh-Hant/System.CommandLine.resources.dll": { "locale": "zh-Hant", "localPath": "zh-Hant/System.CommandLine.resources.dll" } } + }, + "System.Diagnostics.DiagnosticSource/10.0.0": { + "runtime": { + "lib/net9.0/System.Diagnostics.DiagnosticSource.dll": { + "assemblyVersion": "10.0.0.0", + "fileVersion": "10.0.25.52411", + "localPath": "System.Diagnostics.DiagnosticSource.dll" + } + } } } }, @@ -304,96 +315,96 @@ "serviceable": false, "sha512": "" }, - "Microsoft.Extensions.Configuration/10.0.0": { + "Microsoft.Extensions.Configuration/9.0.0": { "type": "package", "serviceable": true, - "sha512": "sha512-H4SWETCh/cC5L1WtWchHR6LntGk3rDTTznZMssr4cL8IbDmMWBxY+MOGDc/ASnqNolLKPIWHWeuC1ddiL/iNPw==", - "path": "microsoft.extensions.configuration/10.0.0", - "hashPath": "microsoft.extensions.configuration.10.0.0.nupkg.sha512" + "sha512": "sha512-YIMO9T3JL8MeEXgVozKt2v79hquo/EFtnY0vgxmLnUvk1Rei/halI7kOWZL2RBeV9FMGzgM9LZA8CVaNwFMaNA==", + "path": "microsoft.extensions.configuration/9.0.0", + "hashPath": "microsoft.extensions.configuration.9.0.0.nupkg.sha512" }, - "Microsoft.Extensions.Configuration.Abstractions/10.0.0": { + "Microsoft.Extensions.Configuration.Abstractions/9.0.0": { "type": "package", "serviceable": true, - "sha512": "sha512-d2kDKnCsJvY7mBVhcjPSp9BkJk48DsaHPg5u+Oy4f8XaOqnEedRy/USyvnpHL92wpJ6DrTPy7htppUUzskbCXQ==", - "path": "microsoft.extensions.configuration.abstractions/10.0.0", - "hashPath": "microsoft.extensions.configuration.abstractions.10.0.0.nupkg.sha512" + "sha512": "sha512-lqvd7W3FGKUO1+ZoUEMaZ5XDJeWvjpy2/M/ptCGz3tXLD4HWVaSzjufsAsjemasBEg+2SxXVtYVvGt5r2nKDlg==", + "path": "microsoft.extensions.configuration.abstractions/9.0.0", + "hashPath": "microsoft.extensions.configuration.abstractions.9.0.0.nupkg.sha512" }, - "Microsoft.Extensions.Configuration.Binder/10.0.0": { + "Microsoft.Extensions.Configuration.Binder/9.0.0": { "type": "package", "serviceable": true, - "sha512": "sha512-tMF9wNh+hlyYDWB8mrFCQHQmWHlRosol1b/N2Jrefy1bFLnuTlgSYmPyHNmz8xVQgs7DpXytBRWxGhG+mSTp0g==", - "path": "microsoft.extensions.configuration.binder/10.0.0", - "hashPath": "microsoft.extensions.configuration.binder.10.0.0.nupkg.sha512" + "sha512": "sha512-RiScL99DcyngY9zJA2ROrri7Br8tn5N4hP4YNvGdTN/bvg1A3dwvDOxHnNZ3Im7x2SJ5i4LkX1uPiR/MfSFBLQ==", + "path": "microsoft.extensions.configuration.binder/9.0.0", + "hashPath": "microsoft.extensions.configuration.binder.9.0.0.nupkg.sha512" }, - "Microsoft.Extensions.Configuration.EnvironmentVariables/10.0.0": { + "Microsoft.Extensions.Configuration.EnvironmentVariables/9.0.0": { "type": "package", "serviceable": true, - "sha512": "sha512-TmFegsI/uCdwMBD4yKpmO+OkjVNHQL49Dh/ep83NI5rPUEoBK9OdsJo1zURc1A2FuS/R/Pos3wsTjlyLnguBLA==", - "path": "microsoft.extensions.configuration.environmentvariables/10.0.0", - "hashPath": "microsoft.extensions.configuration.environmentvariables.10.0.0.nupkg.sha512" + "sha512": "sha512-v5R638eNMxksfXb7MFnkPwLPp+Ym4W/SIGNuoe8qFVVyvygQD5DdLusybmYSJEr9zc1UzWzim/ATKeIOVvOFDg==", + "path": "microsoft.extensions.configuration.environmentvariables/9.0.0", + "hashPath": "microsoft.extensions.configuration.environmentvariables.9.0.0.nupkg.sha512" }, - "Microsoft.Extensions.DependencyInjection/10.0.0": { + "Microsoft.Extensions.DependencyInjection/9.0.0": { "type": "package", "serviceable": true, - "sha512": "sha512-f0RBabswJq+gRu5a+hWIobrLWiUYPKMhCD9WO3sYBAdSy3FFH14LMvLVFZc2kPSCimBLxSuitUhsd6tb0TAY6A==", - "path": "microsoft.extensions.dependencyinjection/10.0.0", - "hashPath": "microsoft.extensions.dependencyinjection.10.0.0.nupkg.sha512" + "sha512": "sha512-MCPrg7v3QgNMr0vX4vzRXvkNGgLg8vKWX0nKCWUxu2uPyMsaRgiRc1tHBnbTcfJMhMKj2slE/j2M9oGkd25DNw==", + "path": "microsoft.extensions.dependencyinjection/9.0.0", + "hashPath": "microsoft.extensions.dependencyinjection.9.0.0.nupkg.sha512" }, - "Microsoft.Extensions.DependencyInjection.Abstractions/10.0.0": { + "Microsoft.Extensions.DependencyInjection.Abstractions/9.0.0": { "type": "package", "serviceable": true, - "sha512": "sha512-L3AdmZ1WOK4XXT5YFPEwyt0ep6l8lGIPs7F5OOBZc77Zqeo01Of7XXICy47628sdVl0v/owxYJTe86DTgFwKCA==", - "path": "microsoft.extensions.dependencyinjection.abstractions/10.0.0", - "hashPath": "microsoft.extensions.dependencyinjection.abstractions.10.0.0.nupkg.sha512" + "sha512": "sha512-+6f2qv2a3dLwd5w6JanPIPs47CxRbnk+ZocMJUhv9NxP88VlOcJYZs9jY+MYSjxvady08bUZn6qgiNh7DadGgg==", + "path": "microsoft.extensions.dependencyinjection.abstractions/9.0.0", + "hashPath": "microsoft.extensions.dependencyinjection.abstractions.9.0.0.nupkg.sha512" }, - "Microsoft.Extensions.Diagnostics.Abstractions/10.0.0": { + "Microsoft.Extensions.Diagnostics.Abstractions/9.0.0": { "type": "package", "serviceable": true, - "sha512": "sha512-SfK89ytD61S7DgzorFljSkUeluC1ncn6dtZgwc0ot39f/BEYWBl5jpgvodxduoYAs1d9HG8faCDRZxE95UMo2A==", - "path": "microsoft.extensions.diagnostics.abstractions/10.0.0", - "hashPath": "microsoft.extensions.diagnostics.abstractions.10.0.0.nupkg.sha512" + "sha512": "sha512-1K8P7XzuzX8W8pmXcZjcrqS6x5eSSdvhQohmcpgiQNY/HlDAlnrhR9dvlURfFz428A+RTCJpUyB+aKTA6AgVcQ==", + "path": "microsoft.extensions.diagnostics.abstractions/9.0.0", + "hashPath": "microsoft.extensions.diagnostics.abstractions.9.0.0.nupkg.sha512" }, - "Microsoft.Extensions.Logging/10.0.0": { + "Microsoft.Extensions.Logging/9.0.0": { "type": "package", "serviceable": true, - "sha512": "sha512-BStFkd5CcnEtarlcgYDBcFzGYCuuNMzPs02wN3WBsOFoYIEmYoUdAiU+au6opzoqfTYJsMTW00AeqDdnXH2CvA==", - "path": "microsoft.extensions.logging/10.0.0", - "hashPath": "microsoft.extensions.logging.10.0.0.nupkg.sha512" + "sha512": "sha512-crjWyORoug0kK7RSNJBTeSE6VX8IQgLf3nUpTB9m62bPXp/tzbnOsnbe8TXEG0AASNaKZddnpHKw7fET8E++Pg==", + "path": "microsoft.extensions.logging/9.0.0", + "hashPath": "microsoft.extensions.logging.9.0.0.nupkg.sha512" }, - "Microsoft.Extensions.Logging.Abstractions/10.0.0": { + "Microsoft.Extensions.Logging.Abstractions/9.0.0": { "type": "package", "serviceable": true, - "sha512": "sha512-FU/IfjDfwaMuKr414SSQNTIti/69bHEMb+QKrskRb26oVqpx3lNFXMjs/RC9ZUuhBhcwDM2BwOgoMw+PZ+beqQ==", - "path": "microsoft.extensions.logging.abstractions/10.0.0", - "hashPath": "microsoft.extensions.logging.abstractions.10.0.0.nupkg.sha512" + "sha512": "sha512-g0UfujELzlLbHoVG8kPKVBaW470Ewi+jnptGS9KUi6jcb+k2StujtK3m26DFSGGwQ/+bVgZfsWqNzlP6YOejvw==", + "path": "microsoft.extensions.logging.abstractions/9.0.0", + "hashPath": "microsoft.extensions.logging.abstractions.9.0.0.nupkg.sha512" }, - "Microsoft.Extensions.Logging.Configuration/10.0.0": { + "Microsoft.Extensions.Logging.Configuration/9.0.0": { "type": "package", "serviceable": true, - "sha512": "sha512-j8zcwhS6bYB6FEfaY3nYSgHdpiL2T+/V3xjpHtslVAegyI1JUbB9yAt/BFdvZdsNbY0Udm4xFtvfT/hUwcOOOg==", - "path": "microsoft.extensions.logging.configuration/10.0.0", - "hashPath": "microsoft.extensions.logging.configuration.10.0.0.nupkg.sha512" + "sha512": "sha512-H05HiqaNmg6GjH34ocYE9Wm1twm3Oz2aXZko8GTwGBzM7op2brpAA8pJ5yyD1OpS1mXUtModBYOlcZ/wXeWsSg==", + "path": "microsoft.extensions.logging.configuration/9.0.0", + "hashPath": "microsoft.extensions.logging.configuration.9.0.0.nupkg.sha512" }, - "Microsoft.Extensions.Options/10.0.0": { + "Microsoft.Extensions.Options/9.0.0": { "type": "package", "serviceable": true, - "sha512": "sha512-8oCAgXOow5XDrY9HaXX1QmH3ORsyZO/ANVHBlhLyCeWTH5Sg4UuqZeOTWJi6484M+LqSx0RqQXDJtdYy2BNiLQ==", - "path": "microsoft.extensions.options/10.0.0", - "hashPath": "microsoft.extensions.options.10.0.0.nupkg.sha512" + "sha512": "sha512-y2146b3jrPI3Q0lokKXdKLpmXqakYbDIPDV6r3M8SqvSf45WwOTzkyfDpxnZXJsJQEpAsAqjUq5Pu8RCJMjubg==", + "path": "microsoft.extensions.options/9.0.0", + "hashPath": "microsoft.extensions.options.9.0.0.nupkg.sha512" }, - "Microsoft.Extensions.Options.ConfigurationExtensions/10.0.0": { + "Microsoft.Extensions.Options.ConfigurationExtensions/9.0.0": { "type": "package", "serviceable": true, - "sha512": "sha512-tL9cSl3maS5FPzp/3MtlZI21ExWhni0nnUCF8HY4npTsINw45n9SNDbkKXBMtFyUFGSsQep25fHIDN4f/Vp3AQ==", - "path": "microsoft.extensions.options.configurationextensions/10.0.0", - "hashPath": "microsoft.extensions.options.configurationextensions.10.0.0.nupkg.sha512" + "sha512": "sha512-Ob3FXsXkcSMQmGZi7qP07EQ39kZpSBlTcAZLbJLdI4FIf0Jug8biv2HTavWmnTirchctPlq9bl/26CXtQRguzA==", + "path": "microsoft.extensions.options.configurationextensions/9.0.0", + "hashPath": "microsoft.extensions.options.configurationextensions.9.0.0.nupkg.sha512" }, - "Microsoft.Extensions.Primitives/10.0.0": { + "Microsoft.Extensions.Primitives/9.0.0": { "type": "package", "serviceable": true, - "sha512": "sha512-inRnbpCS0nwO/RuoZIAqxQUuyjaknOOnCEZB55KSMMjRhl0RQDttSmLSGsUJN3RQ3ocf5NDLFd2mOQViHqMK5w==", - "path": "microsoft.extensions.primitives/10.0.0", - "hashPath": "microsoft.extensions.primitives.10.0.0.nupkg.sha512" + "sha512": "sha512-N3qEBzmLMYiASUlKxxFIISP4AiwuPTHF5uCh+2CWSwwzAJiIYx0kBJsS30cp1nvhSySFAVi30jecD307jV+8Kg==", + "path": "microsoft.extensions.primitives/9.0.0", + "hashPath": "microsoft.extensions.primitives.9.0.0.nupkg.sha512" }, "OpenTelemetry/1.17.0": { "type": "package", @@ -423,12 +434,19 @@ "path": "opentelemetry.exporter.opentelemetryprotocol/1.17.0", "hashPath": "opentelemetry.exporter.opentelemetryprotocol.1.17.0.nupkg.sha512" }, - "System.CommandLine/3.0.0-preview.6.26359.118": { + "System.CommandLine/3.0.0-preview.7.26381.103": { + "type": "package", + "serviceable": true, + "sha512": "sha512-GGrY3hkT630Q4OBtN+oOcD9nmc7cyN80SsdrgpmYfNeCXDaKXd1OH7nQaI5+QRoZ2tD0cgMV+H3dcCuX9aVDeA==", + "path": "system.commandline/3.0.0-preview.7.26381.103", + "hashPath": "system.commandline.3.0.0-preview.7.26381.103.nupkg.sha512" + }, + "System.Diagnostics.DiagnosticSource/10.0.0": { "type": "package", "serviceable": true, - "sha512": "sha512-7Nns1GZb2/XGDj+mmQ+MRn7VL7TbkJoFhWaXl1VWc3pxPT5CWag3UzftaqO3w4zYDT+aOozGsjPOFrngqSu3dA==", - "path": "system.commandline/3.0.0-preview.6.26359.118", - "hashPath": "system.commandline.3.0.0-preview.6.26359.118.nupkg.sha512" + "sha512": "sha512-0KdBK+h7G13PuOSC2R/DalAoFMvdYMznvGRuICtkdcUMXgl/gYXsG6z4yUvTxHSMACorWgHCU1Faq0KUHU6yAQ==", + "path": "system.diagnostics.diagnosticsource/10.0.0", + "hashPath": "system.diagnostics.diagnosticsource.10.0.0.nupkg.sha512" } } } \ No newline at end of file diff --git a/src/VSCodeExt/src/chttp-win32-x64/CHttp.exe b/src/VSCodeExt/src/chttp-win32-x64/CHttp.exe index c8d9720..a932bb4 100644 Binary files a/src/VSCodeExt/src/chttp-win32-x64/CHttp.exe and b/src/VSCodeExt/src/chttp-win32-x64/CHttp.exe differ diff --git a/src/VSCodeExt/src/chttp-win32-x64/CHttp.runtimeconfig.json b/src/VSCodeExt/src/chttp-win32-x64/CHttp.runtimeconfig.json index 66f58d7..1c0fa8b 100644 --- a/src/VSCodeExt/src/chttp-win32-x64/CHttp.runtimeconfig.json +++ b/src/VSCodeExt/src/chttp-win32-x64/CHttp.runtimeconfig.json @@ -1,15 +1,16 @@ { "runtimeOptions": { - "tfm": "net10.0", + "tfm": "net9.0", "rollForward": "major", "framework": { "name": "Microsoft.NETCore.App", - "version": "10.0.0" + "version": "9.0.0" }, "configProperties": { "System.GC.Server": true, "System.Reflection.Metadata.MetadataUpdater.IsSupported": false, - "System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization": false + "System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization": false, + "System.CommandLine.ExecutableName": "CHttp" } } } \ No newline at end of file diff --git a/src/VSCodeExt/src/chttp-win32-x64/CHttpExtension.cjs b/src/VSCodeExt/src/chttp-win32-x64/CHttpExtension.cjs index ee0d506..a5020db 100644 --- a/src/VSCodeExt/src/chttp-win32-x64/CHttpExtension.cjs +++ b/src/VSCodeExt/src/chttp-win32-x64/CHttpExtension.cjs @@ -2,7 +2,7 @@ // Generated by: Microsoft.JavaScript.NodeApi.Generator 0.9.0.0 /* eslint-disable */ -const dotnet = require('node-api-dotnet/net10.0'); +const dotnet = require('node-api-dotnet/net9.0'); const path = require('node:path'); // @ts-ignore - https://github.com/DefinitelyTyped/DefinitelyTyped/discussions/65252 const { dlopen, platform, arch } = require('node:process'); diff --git a/src/VSCodeExt/src/chttp-win32-x64/CHttpExtension.d.ts b/src/VSCodeExt/src/chttp-win32-x64/CHttpExtension.d.ts index 2be428e..c86bd3a 100644 --- a/src/VSCodeExt/src/chttp-win32-x64/CHttpExtension.d.ts +++ b/src/VSCodeExt/src/chttp-win32-x64/CHttpExtension.d.ts @@ -2,8 +2,6 @@ // Generated by: Microsoft.JavaScript.NodeApi.Generator 0.9.0.0 /* eslint-disable */ -import './System.Runtime'; - export namespace CHttpExt { export function setMsQuicPath(msquicPath: string): void; @@ -12,6 +10,8 @@ export namespace CHttpExt { enableRedirects: boolean, enableCertificateValidation: boolean, useKerberosAuth: boolean, + clientCertificatePath: string | undefined, + clientCertificateKeyPath: string | undefined, timeout: number, method: string, uri: string, @@ -25,6 +25,8 @@ export namespace CHttpExt { enableRedirects: boolean, enableCertificateValidation: boolean, useKerberosAuth: boolean, + clientCertificatePath: string | undefined, + clientCertificateKeyPath: string | undefined, timeout: number, method: string, uri: string, diff --git a/src/VSCodeExt/src/chttp-win32-x64/CHttpExtension.js b/src/VSCodeExt/src/chttp-win32-x64/CHttpExtension.js new file mode 100644 index 0000000..f2d99fe --- /dev/null +++ b/src/VSCodeExt/src/chttp-win32-x64/CHttpExtension.js @@ -0,0 +1,31 @@ +// Generated for: CHttpExtension 1.0.0.0 +// Generated by: Microsoft.JavaScript.NodeApi.Generator 0.9.0.0 +/* eslint-disable */ + +import dotnet from 'node-api-dotnet/net9.0'; +import * as path from 'node:path'; +import { fileURLToPath } from 'node:url'; +// @ts-ignore - https://github.com/DefinitelyTyped/DefinitelyTyped/discussions/65252 +import { dlopen, platform, arch } from 'node:process'; + +const __filename = fileURLToPath(import.meta.url); +const __dirname = path.dirname(__filename); +const moduleName = path.basename(__filename, __filename.match(/(\.[cm]?js)?$/)[0]); +const exports = dotnet ? importDotnetModule(moduleName) : importAotModule(moduleName); + +function importDotnetModule(moduleName) { + const moduleFilePath = path.join(__dirname, moduleName + '.dll'); + return dotnet.require(moduleFilePath); +} + +function importAotModule(moduleName) { + const ridPlatform = platform === 'win32' ? 'win' : platform === 'darwin' ? 'osx' : platform; + const ridArch = arch === 'ia32' ? 'x86' : arch; + const rid = `${ridPlatform}-${ridArch}`; + const moduleFilePath = path.join(__dirname, moduleName + '.node'); + const module = { exports: {} }; + dlopen(module, moduleFilePath); + return module.exports; +} + +export const CHttpExt = exports.CHttpExt; diff --git a/src/VSCodeExt/src/chttp-win32-x64/CHttpExtension.mjs b/src/VSCodeExt/src/chttp-win32-x64/CHttpExtension.mjs index aed12de..f2d99fe 100644 --- a/src/VSCodeExt/src/chttp-win32-x64/CHttpExtension.mjs +++ b/src/VSCodeExt/src/chttp-win32-x64/CHttpExtension.mjs @@ -2,7 +2,7 @@ // Generated by: Microsoft.JavaScript.NodeApi.Generator 0.9.0.0 /* eslint-disable */ -import dotnet from 'node-api-dotnet/net10.0'; +import dotnet from 'node-api-dotnet/net9.0'; import * as path from 'node:path'; import { fileURLToPath } from 'node:url'; // @ts-ignore - https://github.com/DefinitelyTyped/DefinitelyTyped/discussions/65252 diff --git a/src/VSCodeExt/src/chttp-win32-x64/CHttpExtension.node b/src/VSCodeExt/src/chttp-win32-x64/CHttpExtension.node index 79ff937..2c12831 100644 Binary files a/src/VSCodeExt/src/chttp-win32-x64/CHttpExtension.node and b/src/VSCodeExt/src/chttp-win32-x64/CHttpExtension.node differ diff --git a/src/VSCodeExt/src/controllers/requestController.ts b/src/VSCodeExt/src/controllers/requestController.ts index b1f587e..1aa5c7c 100644 --- a/src/VSCodeExt/src/controllers/requestController.ts +++ b/src/VSCodeExt/src/controllers/requestController.ts @@ -74,6 +74,8 @@ export class RequestController { !metadatas.has(RequestMetadata.NoRedirect), !metadatas.has(RequestMetadata.NoCertificateValidation), metadatas.has(RequestMetadata.KerberosAuth), + metadatas.get(RequestMetadata.ClientCertificatePath), + metadatas.get(RequestMetadata.ClientCertificateKey), this.tryParseInt(metadatas.get(RequestMetadata.Timeout), 40), performanceHttpRequest.method, performanceHttpRequest.uri, @@ -121,6 +123,8 @@ export class RequestController { !metadatas.has(RequestMetadata.NoRedirect), !metadatas.has(RequestMetadata.NoCertificateValidation), metadatas.has(RequestMetadata.KerberosAuth), + metadatas.get(RequestMetadata.ClientCertificatePath), + metadatas.get(RequestMetadata.ClientCertificateKey), this.tryParseInt(metadatas.get(RequestMetadata.Timeout), 40), httpRequest.method, httpRequest.uri, diff --git a/src/VSCodeExt/src/models/requestMetadata.ts b/src/VSCodeExt/src/models/requestMetadata.ts index 0482c17..dd11bab 100644 --- a/src/VSCodeExt/src/models/requestMetadata.ts +++ b/src/VSCodeExt/src/models/requestMetadata.ts @@ -9,6 +9,8 @@ export enum RequestMetadata { Timeout = 'timeout', KerberosAuth = 'kerberos-auth', SharedSocketHandler = 'shared-sockethandler', + ClientCertificatePath = 'client-certificate-path', + ClientCertificateKey = 'client-certificate-key', } export function fromString(value: string): RequestMetadata | undefined { diff --git a/src/VSCodeExt/syntaxes/http.tmLanguage.json b/src/VSCodeExt/syntaxes/http.tmLanguage.json index e4b1fb0..6fb6e8e 100644 --- a/src/VSCodeExt/syntaxes/http.tmLanguage.json +++ b/src/VSCodeExt/syntaxes/http.tmLanguage.json @@ -153,7 +153,7 @@ "name": "comment.line.sharp.http" }, { - "match": "^\\s*\\#{1,}\\s+(?:((@)clientsCount)\\s+([^\\s\\.]+))$", + "match": "^\\s*\\#{1,}\\s+(?:((@)clientsCount)\\s+(\\d+))$", "captures": { "1": { "name": "entity.other.attribute-name" @@ -168,7 +168,7 @@ "name": "comment.line.sharp.http" }, { - "match": "^\\s*\\#{1,}\\s+(?:((@)requestCount)\\s+([^\\s\\.]+))$", + "match": "^\\s*\\#{1,}\\s+(?:((@)requestCount)\\s+(\\d+))$", "captures": { "1": { "name": "entity.other.attribute-name" @@ -181,7 +181,37 @@ } }, "name": "comment.line.sharp.http" - }, + }, + { + "match": "^\\s*\\#{1,}\\s+(?:((@)client-certificate-path)\\s+([^\\s]+))$", + "captures": { + "1": { + "name": "entity.other.attribute-name" + }, + "2": { + "name": "punctuation.definition.block.tag.metadata" + }, + "3": { + "name": "entity.name.type.http" + } + }, + "name": "comment.line.sharp.http" + }, + { + "match": "^\\s*\\#{1,}\\s+(?:((@)client-certificate-key)\\s+([^\\s]+))$", + "captures": { + "1": { + "name": "entity.other.attribute-name" + }, + "2": { + "name": "punctuation.definition.block.tag.metadata" + }, + "3": { + "name": "entity.name.type.http" + } + }, + "name": "comment.line.sharp.http" + }, { "match": "^\\s*\\#{1,}\\s+((@)note)\\s*$", "captures": { diff --git a/tests/CHttp.Api.Tests/CHttp.Api.Tests.csproj b/tests/CHttp.Api.Tests/CHttp.Api.Tests.csproj index 2ab8e37..8a357a3 100644 --- a/tests/CHttp.Api.Tests/CHttp.Api.Tests.csproj +++ b/tests/CHttp.Api.Tests/CHttp.Api.Tests.csproj @@ -19,12 +19,12 @@ - - + + all runtime; build; native; contentfiles; analyzers; buildtransitive - + diff --git a/tests/CHttp.Tests/CHttp.Tests.csproj b/tests/CHttp.Tests/CHttp.Tests.csproj index c0fc1a4..7717296 100644 --- a/tests/CHttp.Tests/CHttp.Tests.csproj +++ b/tests/CHttp.Tests/CHttp.Tests.csproj @@ -9,15 +9,15 @@ - - - - - + + + + + all runtime; build; native; contentfiles; analyzers; buildtransitive - + @@ -25,9 +25,24 @@ + + PreserveNewest + + + PreserveNewest + PreserveNewest + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + diff --git a/tests/CHttp.Tests/Http/CHttpFunctionalTests.cs b/tests/CHttp.Tests/Http/CHttpFunctionalTests.cs index 7073cd7..fd5f105 100644 --- a/tests/CHttp.Tests/Http/CHttpFunctionalTests.cs +++ b/tests/CHttp.Tests/Http/CHttpFunctionalTests.cs @@ -6,6 +6,7 @@ using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Server.Kestrel.Core; +using Microsoft.AspNetCore.Server.Kestrel.Https; using Microsoft.Extensions.Primitives; namespace CHttp.Tests.Http; @@ -429,6 +430,93 @@ public async Task CertificateValidationError_HttpServer_HttpsRequest() Assert.Contains("Invalid http(s) schema: Cannot determine the frame size or a corrupted frame was received.", console.Text); } + [Fact] + public async Task Pem_ClientCertificate_H2_Succeeds() + { + const string expectedSubjectName = "CN=localhost"; + using var host = HttpServer.CreateHostBuilder( + protocol: HttpProtocols.Http2, + configureDefaultKestrel: kestrelOptions => kestrelOptions.ConfigureHttpsDefaults(options => + { + options.ClientCertificateMode = ClientCertificateMode.RequireCertificate; + options.CheckCertificateRevocation = false; + options.ClientCertificateValidation = (cert, chain, _) => cert.SubjectName.Name == expectedSubjectName; + }), + configureApp: app => + { + app.MapGet("/", context => context.Response.WriteAsync(context.Connection.ClientCertificate?.SubjectName.Name ?? "no certificate")); + }); + + await host.StartAsync(TestContext.Current.CancellationToken); + var console = new TestConsolePerWrite(); + var writer = new VerboseConsoleWriter(new TextBufferedProcessor(), console); + + var client = await CommandFactory.CreateRootCommand(writer) + .Parse("--method GET --uri https://localhost:5011 -v 2 --clientCertificatePath testCert.pem --clientCertificateKeyPath testCert.key --no-certificate-validation true") + .InvokeAsync(cancellationToken: TestContext.Current.CancellationToken); + + await writer.CompleteAsync(CancellationToken.None).WaitAsync(TimeSpan.FromSeconds(10), TestContext.Current.CancellationToken); + Assert.Contains(expectedSubjectName, console.Text); + } + + [Fact] + public async Task Pem_ClientCertificate_H3_Succeeds() + { + const string expectedSubjectName = "CN=localhost"; + using var host = HttpServer.CreateHostBuilder( + protocol: HttpProtocols.Http3, + configureDefaultKestrel: kestrelOptions => kestrelOptions.ConfigureHttpsDefaults(options => + { + options.ClientCertificateMode = ClientCertificateMode.RequireCertificate; + options.CheckCertificateRevocation = false; + options.ClientCertificateValidation = (cert, chain, _) => cert.SubjectName.Name == expectedSubjectName; + }), + configureApp: app => + { + app.MapGet("/", context => context.Response.WriteAsync(context.Connection.ClientCertificate?.SubjectName.Name ?? "no certificate")); + }); + + await host.StartAsync(TestContext.Current.CancellationToken); + var console = new TestConsolePerWrite(); + var writer = new VerboseConsoleWriter(new TextBufferedProcessor(), console); + + var client = await CommandFactory.CreateRootCommand(writer) + .Parse("--method GET --uri https://localhost:5011 -v 3 --clientCertificatePath testCert.pem --clientCertificateKeyPath testCert.key --no-certificate-validation true") + .InvokeAsync(cancellationToken: TestContext.Current.CancellationToken); + + await writer.CompleteAsync(CancellationToken.None).WaitAsync(TimeSpan.FromSeconds(10), TestContext.Current.CancellationToken); + Assert.Contains(expectedSubjectName, console.Text); + } + + [Fact] + public async Task Pfx_ClientCertificate_H3_Succeeds() + { + const string expectedSubjectName = "CN=localhost"; + using var host = HttpServer.CreateHostBuilder( + protocol: HttpProtocols.Http3, + configureDefaultKestrel: kestrelOptions => kestrelOptions.ConfigureHttpsDefaults(options => + { + options.ClientCertificateMode = ClientCertificateMode.RequireCertificate; + options.CheckCertificateRevocation = false; + options.ClientCertificateValidation = (cert, chain, _) => cert.SubjectName.Name == expectedSubjectName; + }), + configureApp: app => + { + app.MapGet("/", context => context.Response.WriteAsync(context.Connection.ClientCertificate?.SubjectName.Name ?? "no certificate")); + }); + + await host.StartAsync(TestContext.Current.CancellationToken); + var console = new TestConsolePerWrite(); + var writer = new VerboseConsoleWriter(new TextBufferedProcessor(), console); + + var client = await CommandFactory.CreateRootCommand(writer) + .Parse("--method GET --uri https://localhost:5011 -v 3 --clientCertificatePath testCert.pfx --clientCertificateKeyPath testPassword --no-certificate-validation true") + .InvokeAsync(cancellationToken: TestContext.Current.CancellationToken); + + await writer.CompleteAsync(CancellationToken.None).WaitAsync(TimeSpan.FromSeconds(10), TestContext.Current.CancellationToken); + Assert.Contains(expectedSubjectName, console.Text); + } + private class Request { public string? Data { get; set; } diff --git a/tests/CHttp.Tests/HttpServer.cs b/tests/CHttp.Tests/HttpServer.cs index e1f8ce8..b61ddcc 100644 --- a/tests/CHttp.Tests/HttpServer.cs +++ b/tests/CHttp.Tests/HttpServer.cs @@ -11,6 +11,7 @@ public static class HttpServer { public static WebApplication CreateHostBuilder(RequestDelegate? requestDelegate = null, HttpProtocols? protocol = null, + Action? configureDefaultKestrel = null, Action? configureKestrel = null, Action? configureServices = null, Action? configureApp = null, @@ -21,6 +22,7 @@ public static WebApplication CreateHostBuilder(RequestDelegate? requestDelegate var builder = WebApplication.CreateBuilder(); builder.WebHost.UseKestrel(kestrel => { + configureDefaultKestrel?.Invoke(kestrel); kestrel.ListenAnyIP(port, options => { if (withHttps) diff --git a/tests/CHttp.Tests/Performance/CHttpPerformanceFunctionalTests.cs b/tests/CHttp.Tests/Performance/CHttpPerformanceFunctionalTests.cs index 8479b03..83c26a1 100644 --- a/tests/CHttp.Tests/Performance/CHttpPerformanceFunctionalTests.cs +++ b/tests/CHttp.Tests/Performance/CHttpPerformanceFunctionalTests.cs @@ -6,6 +6,7 @@ using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Server.Kestrel.Core; +using Microsoft.AspNetCore.Server.Kestrel.Https; namespace CHttp.Tests.Performance; @@ -170,6 +171,26 @@ static void CreateInputFile(MemoryFileSystem fileSystem, string fileName) GC.KeepAlive(fileSystem); } + [Fact] + public async Task Pem_ClientCertificate_SuccessResponse() + { + using var host = HttpServer.CreateHostBuilder( + requestDelegate: context => context.Response.WriteAsync(context.Connection.ClientCertificate!.SubjectName.Name), HttpProtocols.Http3, + configureDefaultKestrel: kestrelOptions => kestrelOptions.ConfigureHttpsDefaults(httpsOptions => + { + httpsOptions.ClientCertificateMode = ClientCertificateMode.RequireCertificate; + httpsOptions.ClientCertificateValidation = (cert, chain, _) => cert.SubjectName.Name == "CN=localhost"; + }), port: Port); + await host.StartAsync(TestContext.Current.CancellationToken); + var console = new TestConsolePerWrite(); + + var client = await CommandFactory.CreateRootCommand(console: console) + .Parse($"perf --method GET --clientCertificatePath testCert.pem --clientCertificateKeyPath testCert.key --no-certificate-validation --uri https://localhost:{Port} -c 1 -n 2 -v 3") + .InvokeAsync(cancellationToken: TestContext.Current.CancellationToken) + .WaitAsync(TimeSpan.FromSeconds(10), TestContext.Current.CancellationToken); + Assert.Contains("1xx: 0, 2xx: 2, 3xx: 0, 4xx: 0, 5xx: 0, Other: 0", console.Text); + } + private class Request { public string? Data { get; set; } diff --git a/tests/CHttp.Tests/testCert.key b/tests/CHttp.Tests/testCert.key new file mode 100644 index 0000000..0a9a220 --- /dev/null +++ b/tests/CHttp.Tests/testCert.key @@ -0,0 +1,35 @@ +Bag Attributes + Microsoft Local Key set: + localKeyID: 01 00 00 00 + friendlyName: te-bffb317b-2aed-4f7f-83b3-16431b3e40c3 + Microsoft CSP Name: Microsoft Software Key Storage Provider +Key Attributes + X509v3 Key Usage: 90 +-----BEGIN PRIVATE KEY----- +MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQC98XnLkVT/XFdK +bCLUzSzaX83C+4hocVazTPGrS2x9u4r0R9BlDFnGojJ0FBwQ+bAmekks/RZsjwtB +wo51kKu3VX4YtrfqMfYqdeAFTIqCPrZ7rIj2KMYelPh20kBSx9S+OIEjq+zoRiYq +shr+OCm/fIy8NauDu1xWqE8dJfJrCC3FuTEzv1pZIRMLo987f99XFHTKDuGBJAbH +lnqigFBl2JsktF5eCstL36AoB/+9iacLY/r9GyDAJUYXD5pAGwPqw9rpvrvF4ZNg +xrot4WTPC1sXYImKVu9F5YoWE5YSfPCXIub3jGqklqMcAgHuZP4U6KYwijjBtLMZ +z2kAfUlpAgMBAAECggEAcs2P2t1FbW6nh+DiEJLOSFLdb7tOECpox8h6zRiyQzBm +ZQ0+xMR5QphoPEanTA9OS4Nf1SRHOGgg2qc4KZC+aPnwVAmkEZYO/kzukOVZVi2H +aCq5QWcVkAhkQJUFscL8L9jBHQleEGnNycKKlBroCMfD3EHoH5/PyMTDxI9Z/RwR +hxIR+zJFCr9kWx9VWE6nbaYVgPAV/dsKSScxfGrM+qFLOuD8Mst+niLwgKIxd1ci +NttPedgS6L6mD/a8mRgzaZGWazBkptbc1e9P85ibIRfYcJqfD/ukUKLJlLEbflpy +LD/vS1wpCbe/5IhRPPNuzpuOQQjOP0A264qwXS5m3QKBgQDHtGys+2LlzktoeKan +lGkzxKnKgizd4AbOQQ3KocPjhDu+QozChQM7Ehm+lhXVD0kgLNh+M0QqP/+XjHHe +9hE8RvdMlgfvfyYu07ijzsDSFOKssNi1dFPuXPmcHmLzGU7Wj67P7tJ7coaBaPNt +6nXszL6fbwXBUGN42Xf8qHaqPwKBgQDzfJ38omBK6jyHQ6jeIbBYeHwBBmkOUBUs +c6CDDL+l0PTKc0ODzrDjLcLqwa67kWDtkGfWEly9MhXUZZrM4C846mzSY4RWSFMz +Zv6NKnU2YaZ70b+3Ax3DqNx0wpfdAby/D1taZqQ6wo+Rk3cVfzILKUuVGK55KVFy +OKCb8Y8SVwKBgBOw6J5N0zyRkMHmU5hme9EM7Sj4mO/vrPwdUfzO4n/GhBWIflSX +xO/IIx21ssVlUnKHuXkIGQqJcOxCft/bJ2voG25DxNiKkvs/CQ+tzTlpscgRT+zk +YXo5VKteG6eYsTtaw4PhKoPdkQGllYsa+TG2Jn2V9t1OzeAWoUwaWEkFAoGAbBSe +AH2HZtmxAo37EJc9sxfQW5gf3BWaQIAW+PUYwR8O+irOBl0iUcWHZzOQP3xZ3Toj +jXfbKLRp0j1DyLue2pHcuksofDBglkmapsj4/Km9/+psQm2ksaxsJ3wVcyoJQXos +n+U980NX/VPLIYSzjxbGkSlCkU/Q8nXGfVJtosMCgYBVwVI1uzSeEI9rWNqUBp3V +SMhhZi9CDnqJgrI2lfGYnbicBaNnBf+qNbipnOoNtjxCPFi9JDeV1tnHbSlb3NPw +xq67sv49Nyy4XbLU7eT2CXR7mEx4DBJFkUpDTLOLpduC01aDKLo/n+Ws98HwgeQ0 +R6lwPlstn/od3E3gyGXeqw== +-----END PRIVATE KEY----- diff --git a/tests/CHttp.Tests/testCert.pem b/tests/CHttp.Tests/testCert.pem new file mode 100644 index 0000000..346d8f3 --- /dev/null +++ b/tests/CHttp.Tests/testCert.pem @@ -0,0 +1,25 @@ +Bag Attributes + localKeyID: 01 00 00 00 +subject=CN=localhost +issuer=CN=localhost +-----BEGIN CERTIFICATE----- +MIIDgzCCAmugAwIBAgIQERkgNbuVU55Df3ixTEKMZjANBgkqhkiG9w0BAQsFADAU +MRIwEAYDVQQDDAlsb2NhbGhvc3QwHhcNMjYwNzE2MTkwMzQzWhcNMjcwODE3MTkx +MzQzWjAUMRIwEAYDVQQDDAlsb2NhbGhvc3QwggEiMA0GCSqGSIb3DQEBAQUAA4IB +DwAwggEKAoIBAQC98XnLkVT/XFdKbCLUzSzaX83C+4hocVazTPGrS2x9u4r0R9Bl +DFnGojJ0FBwQ+bAmekks/RZsjwtBwo51kKu3VX4YtrfqMfYqdeAFTIqCPrZ7rIj2 +KMYelPh20kBSx9S+OIEjq+zoRiYqshr+OCm/fIy8NauDu1xWqE8dJfJrCC3FuTEz +v1pZIRMLo987f99XFHTKDuGBJAbHlnqigFBl2JsktF5eCstL36AoB/+9iacLY/r9 +GyDAJUYXD5pAGwPqw9rpvrvF4ZNgxrot4WTPC1sXYImKVu9F5YoWE5YSfPCXIub3 +jGqklqMcAgHuZP4U6KYwijjBtLMZz2kAfUlpAgMBAAGjgdAwgc0wDgYDVR0PAQH/ +BAQDAgWgMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDATB9BgNVHREEdjB0 +gglsb2NhbGhvc3SCDyouZGV2LmxvY2FsaG9zdIIOKi5kZXYuaW50ZXJuYWyCFGhv +c3QuZG9ja2VyLmludGVybmFsghhob3N0LmNvbnRhaW5lcnMuaW50ZXJuYWyHBH8A +AAGHEAAAAAAAAAAAAAAAAAAAAAEwHQYDVR0OBBYEFALnRkNYwvXM3nZk5/91uwq5 +6eDAMA0GCSqGSIb3DQEBCwUAA4IBAQBvTiHUvrPAWEtr4N9D+8rGy9GvEzLxH9At +jv192u/KfEtav25p/dYvVhcuHlTaDVfBdNX8YqXeMp8G5YDZRaJQnmZzmiyFyPpp +xi3QC6GfieqOL7jQixARgyDqox+tOtCrz5AhAfoUmyAwuk9JS2GJiYxqhbNxo2oA +GowfzLp2vJAlF7sdvosJheeyGur6ocFlQcc5nWrzBKWuiurroCFmICB6hIrr6OtE +4DK3+DqoGPSG/JQlvAQuXT7UA/MSfUmNhutsgzRw75wJUdcdTWkvTbNETto0Ajey +TzBWmv+lSjZOH5OzeU/DcJiiT2PtLN5nbVGf165cKROEcxYAGNzf +-----END CERTIFICATE----- diff --git a/tests/CHttpExecutor.Tests/CHttpExecutor.Tests.csproj b/tests/CHttpExecutor.Tests/CHttpExecutor.Tests.csproj index e21f24b..a0fffc2 100644 --- a/tests/CHttpExecutor.Tests/CHttpExecutor.Tests.csproj +++ b/tests/CHttpExecutor.Tests/CHttpExecutor.Tests.csproj @@ -11,12 +11,21 @@ - - + + PreserveNewest + + + PreserveNewest + + + + + + all runtime; build; native; contentfiles; analyzers; buildtransitive - + diff --git a/tests/CHttpExecutor.Tests/InputReaderTests.cs b/tests/CHttpExecutor.Tests/InputReaderTests.cs index 95c378f..28d2843 100644 --- a/tests/CHttpExecutor.Tests/InputReaderTests.cs +++ b/tests/CHttpExecutor.Tests/InputReaderTests.cs @@ -4,8 +4,6 @@ namespace CHttpExecutor.Tests; public class InputReaderTests { - private const int Port = 5020; - private byte[] _singleRequest = @"### GET https://localhost:5020/ HTTP/2"u8.ToArray(); @@ -34,6 +32,8 @@ public async Task ExecutionInstructionsParsed() # @sharedsocket # @timeout 5 # @no-cert-validation true +# @clientCertificatePath testCert.pem +# @clientCertificateKeyPath testCert.key # @enableRedirect false GET https://localhost:5020/ HTTP/2"u8.ToArray(); var stream = new MemoryStream(request); @@ -49,6 +49,8 @@ public async Task ExecutionInstructionsParsed() Assert.True(step.SharedSocket!.Value); Assert.True(step.NoCertificateValidation!.Value); Assert.True(step.EnableRedirects!.Value); + Assert.Equal("testCert.pem", step.ClientCertificatePath); + Assert.Equal("testCert.key", step.ClientCertificateKeyPath); Assert.Equal(5, step.Timeout!.Value); } diff --git a/tests/CHttpExecutor.Tests/IntegrationTests.cs b/tests/CHttpExecutor.Tests/IntegrationTests.cs index 31805c8..2e7466a 100644 --- a/tests/CHttpExecutor.Tests/IntegrationTests.cs +++ b/tests/CHttpExecutor.Tests/IntegrationTests.cs @@ -66,6 +66,36 @@ public async Task SingleRequestInvokesEndpoint() await requestReceived.Task.WaitAsync(TimeSpan.FromSeconds(5), TestContext.Current.CancellationToken); } + [Fact] + public async Task Single_PemClientCertificate_RequestInvokesEndpoint() + { + TaskCompletionSource requestReceived = new(); + using var host = HttpServer.CreateHostBuilder(async context => + { + requestReceived.TrySetResult(); + await context.Response.WriteAsync(context.Connection.ClientCertificate!.SubjectName.Name); + }, HttpProtocols.Http2, + configureDefaultKestrel: kestrelOptions => kestrelOptions.ConfigureHttpsDefaults(httpsOptions => + { + httpsOptions.ClientCertificateMode = Microsoft.AspNetCore.Server.Kestrel.Https.ClientCertificateMode.RequireCertificate; + httpsOptions.ClientCertificateValidation = (_, _, _) => true; + }), port: Port); + await host.StartAsync(TestContext.Current.CancellationToken); + + var stream = new MemoryStream(@"### +# @no-cert-validation +# @clientCertificatePath testCert.pem +# @clientCertificateKeyPath testCert.key +GET https://localhost:5020/ HTTP/2"u8.ToArray()); + + var reader = new InputReader(new ExecutionPlanBuilder()); + var plan = await reader.ReadStreamAsync(stream); + var executor = new Executor(plan, new NoOpConsole()); + await executor.ExecuteAsync(); + + await requestReceived.Task.WaitAsync(TimeSpan.FromSeconds(5), TestContext.Current.CancellationToken); + } + [Fact] public async Task MultiRequestInvokesEndpoint() { diff --git a/tests/CHttpServer.BrowserTests/CHttpServer.BrowserTests.csproj b/tests/CHttpServer.BrowserTests/CHttpServer.BrowserTests.csproj index 2c343bf..cf05c00 100644 --- a/tests/CHttpServer.BrowserTests/CHttpServer.BrowserTests.csproj +++ b/tests/CHttpServer.BrowserTests/CHttpServer.BrowserTests.csproj @@ -11,13 +11,13 @@ - - - + + + all runtime; build; native; contentfiles; analyzers; buildtransitive - + diff --git a/tests/CHttpServer.Tests/CHttpServer.Tests.csproj b/tests/CHttpServer.Tests/CHttpServer.Tests.csproj index 0390301..b9abe00 100644 --- a/tests/CHttpServer.Tests/CHttpServer.Tests.csproj +++ b/tests/CHttpServer.Tests/CHttpServer.Tests.csproj @@ -19,13 +19,13 @@ - - - + + + all runtime; build; native; contentfiles; analyzers; buildtransitive - + diff --git a/tests/TestWebApplication.Tests/TestWebApplication.Tests.csproj b/tests/TestWebApplication.Tests/TestWebApplication.Tests.csproj index b306c1d..7c2da36 100644 --- a/tests/TestWebApplication.Tests/TestWebApplication.Tests.csproj +++ b/tests/TestWebApplication.Tests/TestWebApplication.Tests.csproj @@ -11,13 +11,13 @@ - - - + + + all runtime; build; native; contentfiles; analyzers; buildtransitive - +