From 367d2a171e988195041b6d0f9aa1cf47f35e1a3b Mon Sep 17 00:00:00 2001 From: Tolga Kayhan Date: Thu, 4 Apr 2024 22:36:45 +0100 Subject: [PATCH] 8.0.1 Update, introducing support for Azure Function. --- .../LaserCatEyes.DataServiceSdk.csproj | 2 +- .../LaserCatEyesDataService.cs | 3 +- .../LaserCatEyes.Domain.csproj | 2 +- LaserCatEyes.DotNetSdk.sln | 14 ++-- .../LaserCatEyes.EndpointListener.csproj | 9 +- .../FunctionEndpointListenerMiddleware.cs | 78 ++++++++++++++++++ ...serCatEyes.FunctionEndpointListener.csproj | 44 ++++++++++ ...LaserCatEyesServiceCollectionExtensions.cs | 53 ++++++++++++ .../LaserCatEyes_Logo.png | Bin 0 -> 82940 bytes .../README.md | 58 +++++++++++++ .../LaserCatEyes.HttpClientListener.csproj | 2 +- .../LaserCatEyes.WCFListener.csproj | 2 +- 12 files changed, 255 insertions(+), 12 deletions(-) create mode 100644 LaserCatEyes.FunctionEndpointListener/FunctionEndpointListenerMiddleware.cs create mode 100644 LaserCatEyes.FunctionEndpointListener/LaserCatEyes.FunctionEndpointListener.csproj create mode 100644 LaserCatEyes.FunctionEndpointListener/LaserCatEyesServiceCollectionExtensions.cs create mode 100644 LaserCatEyes.FunctionEndpointListener/LaserCatEyes_Logo.png create mode 100644 LaserCatEyes.FunctionEndpointListener/README.md diff --git a/LaserCatEyes.DataServiceSdk/LaserCatEyes.DataServiceSdk.csproj b/LaserCatEyes.DataServiceSdk/LaserCatEyes.DataServiceSdk.csproj index 8a45d72..76b6250 100644 --- a/LaserCatEyes.DataServiceSdk/LaserCatEyes.DataServiceSdk.csproj +++ b/LaserCatEyes.DataServiceSdk/LaserCatEyes.DataServiceSdk.csproj @@ -7,7 +7,7 @@ https://portal.lasercateyes.com LaserCatEyes_Logo.png true - 8.0.0 + 8.0.1 Betalgo Up Ltd. Betalgo Up Ltd. Laser Cat Eyes diff --git a/LaserCatEyes.DataServiceSdk/LaserCatEyesDataService.cs b/LaserCatEyes.DataServiceSdk/LaserCatEyesDataService.cs index fae18c4..fb21d35 100644 --- a/LaserCatEyes.DataServiceSdk/LaserCatEyesDataService.cs +++ b/LaserCatEyes.DataServiceSdk/LaserCatEyesDataService.cs @@ -37,7 +37,8 @@ public LaserCatEyesDataService(IOptions laserCatEyesOptions return; } - var deviceName = $"{Environment.MachineName}:{Environment.UserName}"; + var websiteInstanceId = Environment.GetEnvironmentVariable("WEBSITE_INSTANCE_ID"); + var deviceName = string.IsNullOrEmpty(websiteInstanceId) ? $"{Environment.MachineName}:{Environment.UserName}" : $"stateless:{Environment.UserName}"; _laserCatEyesOptions.DeviceUuid ??= Utilities.ToGuid(deviceName); SubAppUpdate subApp = new() diff --git a/LaserCatEyes.Domain/LaserCatEyes.Domain.csproj b/LaserCatEyes.Domain/LaserCatEyes.Domain.csproj index 817ed7a..c3633e6 100644 --- a/LaserCatEyes.Domain/LaserCatEyes.Domain.csproj +++ b/LaserCatEyes.Domain/LaserCatEyes.Domain.csproj @@ -6,7 +6,7 @@ https://portal.lasercateyes.com LaserCatEyes_Logo.png true - 8.0.0 + 8.0.1 Betalgo Up Ltd. Betalgo Up Ltd. Laser Cat Eyes diff --git a/LaserCatEyes.DotNetSdk.sln b/LaserCatEyes.DotNetSdk.sln index f921c5f..cecba9d 100644 --- a/LaserCatEyes.DotNetSdk.sln +++ b/LaserCatEyes.DotNetSdk.sln @@ -9,9 +9,7 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LaserCatEyes.DataServiceSdk EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LaserCatEyes.Domain", "LaserCatEyes.Domain\LaserCatEyes.Domain.csproj", "{97F1C3A7-028E-4A5A-8F4C-6357FF55444D}" EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "DotNetStandard", "DotNetStandard", "{35E9EDC4-69A4-4BC8-976A-7A3C817BAB41}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "DotNetCore", "DotNetCore", "{ACE7AFE5-4429-49C6-A091-38BBE9C74411}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Presentation", "Presentation", "{ACE7AFE5-4429-49C6-A091-38BBE9C74411}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LaserCatEyes.HttpClientListener", "LaserCatEyes.HttpClientListener\LaserCatEyes.HttpClientListener.csproj", "{5977C50D-83B2-4654-9EAF-385B0AC18E32}" EndProject @@ -37,6 +35,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SampleNetServerApp", "Sampl EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LaserCatEyes.WCFListener", "LaserCatEyes.WCFListener\LaserCatEyes.WCFListener.csproj", "{35DB7BC6-2F9D-41D3-9F09-1CB3F34D1735}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LaserCatEyes.FunctionEndpointListener", "LaserCatEyes.FunctionEndpointListener\LaserCatEyes.FunctionEndpointListener.csproj", "{F300FE2D-621D-4654-9592-42E115BC2B8F}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -71,6 +71,10 @@ Global {35DB7BC6-2F9D-41D3-9F09-1CB3F34D1735}.Debug|Any CPU.Build.0 = Debug|Any CPU {35DB7BC6-2F9D-41D3-9F09-1CB3F34D1735}.Release|Any CPU.ActiveCfg = Release|Any CPU {35DB7BC6-2F9D-41D3-9F09-1CB3F34D1735}.Release|Any CPU.Build.0 = Release|Any CPU + {F300FE2D-621D-4654-9592-42E115BC2B8F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {F300FE2D-621D-4654-9592-42E115BC2B8F}.Debug|Any CPU.Build.0 = Debug|Any CPU + {F300FE2D-621D-4654-9592-42E115BC2B8F}.Release|Any CPU.ActiveCfg = Release|Any CPU + {F300FE2D-621D-4654-9592-42E115BC2B8F}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -79,14 +83,14 @@ Global {6953B012-1F16-4C86-AB74-23C4F5FC3ED1} = {ACE7AFE5-4429-49C6-A091-38BBE9C74411} {F9A2B11A-1DA8-4C22-9F79-5E3D90ED6333} = {ACE7AFE5-4429-49C6-A091-38BBE9C74411} {97F1C3A7-028E-4A5A-8F4C-6357FF55444D} = {E2B713C8-7C45-4632-8DB0-DC133E5CB6F0} - {35E9EDC4-69A4-4BC8-976A-7A3C817BAB41} = {E2B713C8-7C45-4632-8DB0-DC133E5CB6F0} {ACE7AFE5-4429-49C6-A091-38BBE9C74411} = {E2B713C8-7C45-4632-8DB0-DC133E5CB6F0} {5977C50D-83B2-4654-9EAF-385B0AC18E32} = {ACE7AFE5-4429-49C6-A091-38BBE9C74411} {FCEE9B6D-C73A-41EB-9293-1B32E919E45A} = {2AB160A4-6D9A-43DE-B2D5-E4096B0443D2} {68BACA33-4244-4F4E-B03B-55084CED5461} = {2AB160A4-6D9A-43DE-B2D5-E4096B0443D2} {7E774EBE-B681-430A-AC2A-2F28474E08F3} = {5E92817F-20C0-4D02-8698-D9F7FBA95FAC} {6678D16F-3AA0-4F56-92AB-01D86F6E24D6} = {5E92817F-20C0-4D02-8698-D9F7FBA95FAC} - {35DB7BC6-2F9D-41D3-9F09-1CB3F34D1735} = {35E9EDC4-69A4-4BC8-976A-7A3C817BAB41} + {35DB7BC6-2F9D-41D3-9F09-1CB3F34D1735} = {ACE7AFE5-4429-49C6-A091-38BBE9C74411} + {F300FE2D-621D-4654-9592-42E115BC2B8F} = {ACE7AFE5-4429-49C6-A091-38BBE9C74411} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {A80951DD-7E4D-4D23-BB6F-89B70EA6172C} diff --git a/LaserCatEyes.EndpointListener/LaserCatEyes.EndpointListener.csproj b/LaserCatEyes.EndpointListener/LaserCatEyes.EndpointListener.csproj index 1007d2c..416d972 100644 --- a/LaserCatEyes.EndpointListener/LaserCatEyes.EndpointListener.csproj +++ b/LaserCatEyes.EndpointListener/LaserCatEyes.EndpointListener.csproj @@ -1,13 +1,13 @@  - net8.0;net6.0; + net8.0;net7.0;net6.0; Betalgo Up Ltd. Latest https://portal.lasercateyes.com LaserCatEyes_Logo.png true - 8.0.0 + 8.0.1 Betalgo Up Ltd. Betalgo Up Ltd. Laser Cat Eyes @@ -36,6 +36,11 @@ + + + + + diff --git a/LaserCatEyes.FunctionEndpointListener/FunctionEndpointListenerMiddleware.cs b/LaserCatEyes.FunctionEndpointListener/FunctionEndpointListenerMiddleware.cs new file mode 100644 index 0000000..8974f70 --- /dev/null +++ b/LaserCatEyes.FunctionEndpointListener/FunctionEndpointListenerMiddleware.cs @@ -0,0 +1,78 @@ +using LaserCatEyes.Domain; +using LaserCatEyes.Domain.Models; +using Microsoft.Azure.Functions.Worker; +using Microsoft.Azure.Functions.Worker.Middleware; +using Microsoft.Extensions.Logging; + +namespace LaserCatEyes.FunctionEndpointListener; + +public class FunctionEndpointListenerMiddleware : IFunctionsWorkerMiddleware +{ + private readonly bool _isServiceReady; + private readonly ILaserCatEyesDataService? _laserCatEyesDataService; + + public FunctionEndpointListenerMiddleware(ILaserCatEyesDataService? laserCatEyesDataService, ILogger logger) + { + if (laserCatEyesDataService == null) + { + logger.LogWarning($"Couldn't bind {nameof(FunctionEndpointListenerMiddleware)} because {nameof(ILaserCatEyesDataService)} is null"); + return; + } + + if (!laserCatEyesDataService.IsServiceReady()) + { + logger.LogWarning($"Couldn't bind {nameof(FunctionEndpointListenerMiddleware)} because {nameof(ILaserCatEyesDataService)} was not ready"); + return; + } + + _laserCatEyesDataService = laserCatEyesDataService; + _isServiceReady = true; + } + + + public async Task Invoke(FunctionContext functionContext, FunctionExecutionDelegate next) + { + var operationId = Guid.NewGuid(); + + try + { + var context = await functionContext.GetHttpRequestDataAsync(); + if (context == null || !_isServiceReady) + { + await next(functionContext); + return; + } + + _laserCatEyesDataService!.Report(PackageData.CreateRequestPackage( + operationId, context.Url.OriginalString, + Utilities.HttpMethodStringToEnumConverter(context.Method), + context.Headers?.SelectMany(r => r.Value.Select(value => new HeaderCouple(r.Key, value))).ToList(), + await Utilities.ReadBodyStream(context.Body), + DateTime.UtcNow, + null, + null + )); + + await next(functionContext); + } + finally + { + var response = functionContext.GetHttpResponseData(); + await using var replacementResponseBody = new MemoryStream(); + if (response != null) + { + var originalPosition = response.Body.Position; + response.Body.Position = 0; + await response.Body.CopyToAsync(replacementResponseBody); + response.Body.Position = originalPosition; + } + + _laserCatEyesDataService!.Report(PackageData.CreateResponsePackage( + operationId, + (int?)response?.StatusCode, + response?.Headers.SelectMany(r => r.Value.Select(value => new HeaderCouple(r.Key, value))).ToList(), + await Utilities.ReadBodyStream(replacementResponseBody), + DateTime.UtcNow)); + } + } +} \ No newline at end of file diff --git a/LaserCatEyes.FunctionEndpointListener/LaserCatEyes.FunctionEndpointListener.csproj b/LaserCatEyes.FunctionEndpointListener/LaserCatEyes.FunctionEndpointListener.csproj new file mode 100644 index 0000000..8809df0 --- /dev/null +++ b/LaserCatEyes.FunctionEndpointListener/LaserCatEyes.FunctionEndpointListener.csproj @@ -0,0 +1,44 @@ + + + + net8.0;net7.0;net6.0; + enable + enable + Betalgo Up Ltd. + Latest + https://portal.lasercateyes.com + LaserCatEyes_Logo.png + true + 8.0.1 + Betalgo Up Ltd. + Betalgo Up Ltd. + Laser Cat Eyes + + lasercateyes.com + Laser Cat Eyes is an online debugging tool that can capture, inspect, monitor all HTTP/HTTPS traffic from your application. It contains a network function like diagnose network issues, etc. + + With Laser Cat Eyes all team members can remotely display in realtime all traffic smoothly that other members capture in their device. It allows team members to test and debug scripts right along with each other in realtime remotely. Laser Cat Eyes is a comprehensive helper to save time, to improve productivity with its easy to use layout, also it helps to play a lot with request and response. + + All internal traffics that we are sending and receiving between the web browser/client and the server is invisible, and this brings difficulty, stress. Determining where is the fault exactly is a time-consuming process, a small error can sometimes take hours to debug with different browsers, operating systems, and devices, bugs are inevitable. Laser Cat Eyes offers extensive features that make it easy to see what is happening, so you debug your application effectively, quickly diagnose, and fix problems. + + https://github.com/betalgo/LCE-DotNet-SDK + network, debugging + README.md + + + + + + + + + + + + PreserveNewest + + + PreserveNewest + + + diff --git a/LaserCatEyes.FunctionEndpointListener/LaserCatEyesServiceCollectionExtensions.cs b/LaserCatEyes.FunctionEndpointListener/LaserCatEyesServiceCollectionExtensions.cs new file mode 100644 index 0000000..86a25f1 --- /dev/null +++ b/LaserCatEyes.FunctionEndpointListener/LaserCatEyesServiceCollectionExtensions.cs @@ -0,0 +1,53 @@ + +using LaserCatEyes.DataServiceSdk; +using LaserCatEyes.Domain; +using LaserCatEyes.Domain.Models; +using Microsoft.AspNetCore.Builder; +using Microsoft.Extensions.Configuration; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.DependencyInjection.Extensions; +using Microsoft.Extensions.Options; + +namespace LaserCatEyes.FunctionEndpointListener +{ + public static class LaserCatEyesServiceCollectionExtensions + { + public static IServiceCollection AddLaserCatEyesFunctionEndpointListener(this IServiceCollection services, Action setupAction) + { + services.TryAddSingleton>(new ConfigureNamedOptions(setupAction.Method.Name, setupAction)); + return AddLaserCatEyesFunctionEndpointListenerBase(services); + } + + public static IServiceCollection AddLaserCatEyesFunctionEndpointListener(this IServiceCollection services) + { + var configuration = services.BuildServiceProvider().GetRequiredService(); + services.Configure(configuration.GetSection(LaserCatEyesOptions.SettingKey)); + + if (configuration.GetSection(LaserCatEyesSystemOptions.SettingKey) != null) + { + services.Configure(configuration.GetSection(LaserCatEyesSystemOptions.SettingKey)); + } + + return AddLaserCatEyesFunctionEndpointListenerBase(services); + } + + public static IServiceCollection AddLaserCatEyesFunctionEndpointListener(this IServiceCollection services, string appKey) + { + services.TryAddSingleton(Options.Create(new LaserCatEyesOptions(appKey))); + return AddLaserCatEyesFunctionEndpointListenerBase(services); + } + + private static IServiceCollection AddLaserCatEyesFunctionEndpointListenerBase(IServiceCollection services) + { + services.TryAddSingleton(); + services.AddTransient(); + return services; + } + + public static IApplicationBuilder UseLaserCatEyesFunctionEndpointListenerMiddleware(this IApplicationBuilder services) + { + services.UseMiddleware(); + return services; + } + } +} diff --git a/LaserCatEyes.FunctionEndpointListener/LaserCatEyes_Logo.png b/LaserCatEyes.FunctionEndpointListener/LaserCatEyes_Logo.png new file mode 100644 index 0000000000000000000000000000000000000000..c0a05201a5ea7ad5c6596d5976bb120a8d0be296 GIT binary patch literal 82940 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
  • 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 Install-Package LaserCatEyes.FunctionEndpointListener +``` + +2. In ``Startup`` class ``Configure`` method inject middleware +```csharp + public void Configure(IApplicationBuilder app, IWebHostEnvironment env) + { + ... + if (env.IsDevelopment())//This is a debugging tool, you don't want to run it in production, right!? + { + ... + //Seriously don't run it in production environment + app.UseLaserCatEyesFunctionEndpointListenerMiddleware(); + } + ... + } +``` +3. In ``Startup`` class ``ConfigureServices`` method inject add Endpoint Listener + +```csharp + public void ConfigureServices(IServiceCollection services) + { + ... + if (env.IsDevelopment())//This is a debugging tool, you don't want to run it in production, right!? + { + ... + //Seriously don't run it in production environment + services.AddLaserCatEyesFunctionEndpointListener(MY_APP_KEY_FROM_LASER_CAT_EYES_PORTAL); + //OR (more option will be available soon) + services.AddLaserCatEyesFunctionEndpointListener(option => + { + option.AppKey = MY_APP_KEY_FROM_LASER_CAT_EYES_PORTAL; + option.AspCoreEnvironment = "STAGE"; + option.Version = "1.2.3.4"; + option.BuildNumber = "1"; + }); + } + ... + } +``` + +[Laser-Cat-Eyes web portal]: +[Laser Cat Eyes]: + +## Author + + Betalgo, mail@betalgo.com diff --git a/LaserCatEyes.HttpClientListener/LaserCatEyes.HttpClientListener.csproj b/LaserCatEyes.HttpClientListener/LaserCatEyes.HttpClientListener.csproj index 50f3565..a20ac35 100644 --- a/LaserCatEyes.HttpClientListener/LaserCatEyes.HttpClientListener.csproj +++ b/LaserCatEyes.HttpClientListener/LaserCatEyes.HttpClientListener.csproj @@ -7,7 +7,7 @@ https://portal.lasercateyes.com LaserCatEyes_Logo.png true - 8.0.0 + 8.0.1 Betalgo Up Ltd. Betalgo Up Ltd. Laser Cat Eyes diff --git a/LaserCatEyes.WCFListener/LaserCatEyes.WCFListener.csproj b/LaserCatEyes.WCFListener/LaserCatEyes.WCFListener.csproj index 92046f7..886c04a 100644 --- a/LaserCatEyes.WCFListener/LaserCatEyes.WCFListener.csproj +++ b/LaserCatEyes.WCFListener/LaserCatEyes.WCFListener.csproj @@ -6,7 +6,7 @@ https://portal.lasercateyes.com LaserCatEyes_Logo.png true - 8.0.0 + 8.0.1 Betalgo Up Ltd. Betalgo Up Ltd. Laser Cat Eyes