mayuki / rin Goto Github PK
View Code? Open in Web Editor NEWRequest/response Inspector middleware for ASP.NET Core
License: MIT License
Request/response Inspector middleware for ASP.NET Core
License: MIT License
Hi there,
Just wanted to say that this is an amazing piece of work.
Keep learning and you will definitely be a remarkable developer one day.
Good luck with everything, bro ^_^
It would be awesome if user can clear requests list, like in chrome's network tab.
In v2.5.0, non ASCII characters encoded with UTF-8 are corrupted. This example is made by changing Index.cshtml in HelloRin.
The cause is that BodyDataPayload
was changed in the version.
If no transformer is specified, payloadBodyContentType
will be null and the body converted to BASE64 will be sent to the client without PresentationContentType
. In older version, the body was sent without being converted to BASE64.
When starting a background task (fire-and-forget) in a request session, Rin can't capture events after the request session complete.
Would you recommend using this in production mode?
If you do so, are you planning to implement some kind of access control anytime soon?
Hi! I love Rin! Unfortunately, it seems it doesn't like when used with Autfac.
I uploaded a repro repository here:
https://github.com/kevindqc/RinShutdownProblemRepro
The problem happens when I run dotnet run
, and after that press CTRL+C.
The app doesn't close down properly. On the repro repository, it crashes, but in my actual project, it logs an error and the dotnet processes stay open - if I try to run dotnet run
it doesn't work because the files (DLLs) are in use. This slows down development considerably as I have to kill the 4 left-opened dotnet processes constantly.
The exception is:
Unhandled Exception: System.AggregateException: One or more errors occurred. (A task was canceled.) ---> System.Threading.Tasks.TaskCanceledException: A task was canceled.
--- End of inner exception stack trace ---
at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
at Rin.Core.Event.MessageEventBus`1.Dispose()
at Autofac.Core.Disposer.Dispose(Boolean disposing)
at Autofac.Util.Disposable.Dispose()
at Autofac.Core.Lifetime.LifetimeScope.Dispose(Boolean disposing)
at Autofac.Util.Disposable.Dispose()
at Autofac.Core.Container.Dispose(Boolean disposing)
at Autofac.Util.Disposable.Dispose()
at Autofac.Extensions.DependencyInjection.AutofacServiceProvider.Dispose(Boolean disposing) in C:\projects\autofac-extensions-dependencyinjection\src\Autofac.Extensions.DependencyInjection\AutofacServiceProvider.cs:line 105
at Autofac.Extensions.DependencyInjection.AutofacServiceProvider.Dispose() in C:\projects\autofac-extensions-dependencyinjection\src\Autofac.Extensions.DependencyInjection\AutofacServiceProvider.cs:line 115
at Microsoft.AspNetCore.Hosting.Internal.WebHost.Dispose()
at Microsoft.AspNetCore.Hosting.WebHostExtensions.RunAsync(IWebHost host, CancellationToken token, String shutdownMessage)
at Microsoft.AspNetCore.Hosting.WebHostExtensions.RunAsync(IWebHost host, CancellationToken token)
at Microsoft.AspNetCore.Hosting.WebHostExtensions.Run(IWebHost host)
at RinShutdownProblemRepro.Program.Main(String[] args) in C:\Users\doyonke\source\repos\RinShutdownProblemRepro\RinShutdownProblemRepro\Program.cs:line 18
It seems that Autofac is disposing MessageEventBus
, which in its Dispose
method waits for a task, but that task has already been canceled. Maybe the dispose order is different when using Autofac vs. using MS Dependency Injection? I made a branch that doesn't use Autofac, and I don't seem to have the problem:
https://github.com/kevindqc/RinShutdownProblemRepro/tree/WithoutAutofac
Hi, do you plan to upgrade for .Net Core 3.1 ?
Is there an option to disable or limit/filter what gets logged ? (by content-type, size etc)
Great project, too bad it's not up to date for 3.1.
Should change Exception
property type from System.Exception
to System.String
and set Exception.ToString()
result to it.
This looks like an awesome tool, but I can't use, since my project is on .NET Core 3.1, and the latest NuGet release is from November 2018.
Can a new version be released on NuGet?
In case to host under IIS; how can we configure it? Provided configuration is not supported under IIS hosting.
It would be nice to be able to track requests made by a HttpClient as well.
This could be implemented via an DelegatingHandler.
The issue occurs when I open Response tab of a request whose response is big (about 76KB). The format of the response is JSON and the content-type
header is text/html
. Then the browser crashes saying "Out of Memory"
I use Rin 2.0.0-preview.20200813-170455, Chrome 84.0.4147.125 and Firefox Developer Edition 80.0b8 and I confirmed that the issue does not occur before e004feb.
According to the report by Firefox, Monaco allocated many objects.
According to my investigation, the trigger is calling editor?.layout({ width: 0, height: 0 });
in InspectorDetail.RequestResponseView.tsx.
I have not yet found out the solution which fixes this issue and does not collapse the layout even when I resize the window of the browser.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.