aspnet / AspNetWebHooks

Libraries to create and consume web hooks on ASP.NET 4.x (Due to other priorities this project is currently in maintenance mode only. There are no planned releases at this time. No new features are planned and we are only addressing critical issues as required.)
Apache License 2.0
134 stars 103 forks source link

Cannot set a URI for generic webhooks with a route different than /api/* #62

Open cale-sweeney opened 2 years ago

cale-sweeney commented 2 years ago

I cannot seem to find a way to set a URI like this for generic webhooks with a route that begins with something like /portalapi/v1/*. E.g. something like this:

            config.Routes.MapHttpRoute(
                name: "PortalApi",
                routeTemplate: "portalapi/v1/{controller}/{id}",
                defaults: new { id = RouteParameter.Optional }
            );

The webhook receiver only seems to respond to posts from URIs in the form api/*:

           config.Routes.MapHttpRoute(
                name: "DefaultApi",
                routeTemplate: "api/{controller}/{id}",
                defaults: new { id = RouteParameter.Optional }
            );

Am I missing something? Or is this a bug? Has anyone been able to change the beginning of the route and have it accepted by the webhook call?

Posted this question on stackoverflow as well: https://stackoverflow.com/questions/69713805/cannot-set-a-uri-for-asp-net-generic-webhooks-with-a-route-different-than-xyz-co

cale-sweeney commented 2 years ago

Looks like that URI is hard coded here: https://github.com/aspnet/WebHooks/blob/master/src/Microsoft.AspNetCore.WebHooks.Receivers/ApplicationModels/WebHookSelectorModelProvider.cs#L144-L153

I think you should add to the documentation that the base of the URI "/api/webhooks/incoming/" cannot be modified.