// Copyright (c) .NET Foundation. All rights reserved.
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
using System.Collections.Generic;
using System.Net.Http;
namespace System.Web.Http.Routing
{
///
/// Defines an abstraction for constraining a route.
///
public interface IHttpRouteConstraint
{
///
/// Attempts to match the specified request.
///
/// The request.
/// The route that is being constrained.
/// The name of the parameter.
/// The route value dictionary.
/// The direction of the routing, i.e. URI resolution or URI generation.
/// false if the route should not match the specified request, or true otherwise
bool Match(HttpRequestMessage request, IHttpRoute route, string parameterName, IDictionary values, HttpRouteDirection routeDirection);
}
}