Closed dougbu closed 6 years ago
Self-assigning because this needs to be done in the Preview2 milestone. Will otherwise be locked into the current approach.
@mkArtakMSFT doing this may reduce the size of other tasks and issues in this repo a bit. Issue is itself on the S / M border because it should mostly be mechanical.
BTW this is tied to main ASP.NET Core WebHooks 1.0.0 rock because [GeneralWebHook]
actions are central to that.
/fyi @rynowak
Any update on the above and associated pull request? is this the last large change which will be going in before the full aspnet core 2.1 release?
Cheers
Any update on the above and associated pull request?
Have been doing other things but will get back to this soon.
is this the last large change which will be going in before the full aspnet core 2.1 release?
Not necessarily. Why do you ask?
Thanks for the update. I've been working on a Webhook that I want to nuget up but have been developing it in this solution to aid with debugging and getting the latest changes as the library has been developing. Just curious how much I'd have to tweak before I can get a preview out based on a stable nuget :-)
Reduced cost to track the review process that remains in this milestone.
c9ab0b4ede
Most of the WebHook constraints and filters do runtime look-ups (Linq queries) to find their metadata. This is decentralized even though it's not required for anything but actions with
[GeneralWebHook]
applied. Thought is to instead apply specific constraints and filters when processing the application model.For the
[GeneralWebHook]
case, use different constraint and filter constructors that pass a newinterface
. That interface would hide the runtime lookup behind its facade. When processing a request, constraints and filters would use the interface to grab the metadata they need, then proceed in the normal (receiver-specific) way.Should not repeat any requirements the application model code enforces in the code for the
[GeneralWebHook]
case. Instead assume the retrieved metadata is consistent and let the constraints and filters "blow up" if not. This avoids additional code duplication and complexity.