32 lines
1.0 KiB
C#
32 lines
1.0 KiB
C#
using System;
|
|
using Microsoft.AspNet.Routing;
|
|
|
|
namespace RoutingSample.Web
|
|
{
|
|
public static class RouteBuilderExtensions
|
|
{
|
|
public static IRouteBuilder AddPrefixRoute(this IRouteBuilder routeBuilder,
|
|
string prefix)
|
|
{
|
|
if (routeBuilder.DefaultHandler == null)
|
|
{
|
|
throw new InvalidOperationException("DefaultHandler must be set.");
|
|
}
|
|
|
|
if (routeBuilder.ServiceProvider == null)
|
|
{
|
|
throw new InvalidOperationException("ServiceProvider must be set.");
|
|
}
|
|
|
|
return AddPrefixRoute(routeBuilder, prefix, routeBuilder.DefaultHandler);
|
|
}
|
|
|
|
public static IRouteBuilder AddPrefixRoute(this IRouteBuilder routeBuilder,
|
|
string prefix,
|
|
IRouter handler)
|
|
{
|
|
routeBuilder.Routes.Add(new PrefixRoute(handler, prefix));
|
|
return routeBuilder;
|
|
}
|
|
}
|
|
} |