You've already forked linux-packaging-mono
61 lines
2.8 KiB
C#
61 lines
2.8 KiB
C#
// Copyright (c) Microsoft Corporation. All rights reserved. See License.txt in the project root for license information.
|
|
|
|
using System.ComponentModel;
|
|
using System.Web.Http.Routing;
|
|
|
|
namespace System.Web.Http
|
|
{
|
|
/// <summary>
|
|
/// Extension methods for <see cref="HttpRouteCollection"/>
|
|
/// </summary>
|
|
[EditorBrowsable(EditorBrowsableState.Never)]
|
|
public static class HttpRouteCollectionExtensions
|
|
{
|
|
/// <summary>
|
|
/// Maps the specified route template.
|
|
/// </summary>
|
|
/// <param name="routes">A collection of routes for the application.</param>
|
|
/// <param name="name">The name of the route to map.</param>
|
|
/// <param name="routeTemplate">The route template for the route.</param>
|
|
/// <returns>A reference to the mapped route.</returns>
|
|
public static IHttpRoute MapHttpRoute(this HttpRouteCollection routes, string name, string routeTemplate)
|
|
{
|
|
return MapHttpRoute(routes, name, routeTemplate, defaults: null, constraints: null);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Maps the specified route template and sets default constraints.
|
|
/// </summary>
|
|
/// <param name="routes">A collection of routes for the application.</param>
|
|
/// <param name="name">The name of the route to map.</param>
|
|
/// <param name="routeTemplate">The route template for the route.</param>
|
|
/// <param name="defaults">An object that contains default route values.</param>
|
|
/// <returns>A reference to the mapped route.</returns>
|
|
public static IHttpRoute MapHttpRoute(this HttpRouteCollection routes, string name, string routeTemplate, object defaults)
|
|
{
|
|
return MapHttpRoute(routes, name, routeTemplate, defaults, constraints: null);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Maps the specified route template and sets default route values and constraints.
|
|
/// </summary>
|
|
/// <param name="routes">A collection of routes for the application.</param>
|
|
/// <param name="name">The name of the route to map.</param>
|
|
/// <param name="routeTemplate">The route template for the route.</param>
|
|
/// <param name="defaults">An object that contains default route values.</param>
|
|
/// <param name="constraints">A set of expressions that specify values for <paramref name="routeTemplate"/>.</param>
|
|
/// <returns>A reference to the mapped route.</returns>
|
|
public static IHttpRoute MapHttpRoute(this HttpRouteCollection routes, string name, string routeTemplate, object defaults, object constraints)
|
|
{
|
|
if (routes == null)
|
|
{
|
|
throw Error.ArgumentNull("routes");
|
|
}
|
|
|
|
IHttpRoute route = routes.CreateRoute(routeTemplate, defaults, constraints, parameters: null);
|
|
routes.Add(name, route);
|
|
return route;
|
|
}
|
|
}
|
|
}
|