Simplify.Web.Core.Controllers.ControllersAgent.MatchControllerRoute C# (CSharp) 메소드

MatchControllerRoute() 공개 메소드

Matches the controller route.
public MatchControllerRoute ( IControllerMetaData controllerMetaData, string sourceRoute, string httpMethod ) : IRouteMatchResult
controllerMetaData IControllerMetaData The controller meta data.
sourceRoute string The source route.
httpMethod string The HTTP method.
리턴 IRouteMatchResult
		public IRouteMatchResult MatchControllerRoute(IControllerMetaData controllerMetaData, string sourceRoute, string httpMethod)
		{
			if (controllerMetaData.ExecParameters?.RouteInfo == null)
				return _routeMatcher.Match(sourceRoute, null);

			switch (httpMethod)
			{
				case "GET":
					return controllerMetaData.ExecParameters.RouteInfo.GetRoute == null
						? null
						: _routeMatcher.Match(sourceRoute, controllerMetaData.ExecParameters.RouteInfo.GetRoute);

				case "POST":
					return controllerMetaData.ExecParameters.RouteInfo.PostRoute == null
						? null
						: _routeMatcher.Match(sourceRoute, controllerMetaData.ExecParameters.RouteInfo.PostRoute);

				case "PUT":
					return controllerMetaData.ExecParameters.RouteInfo.PutRoute == null
						? null
						: _routeMatcher.Match(sourceRoute, controllerMetaData.ExecParameters.RouteInfo.PutRoute);

				case "PATCH":
					return controllerMetaData.ExecParameters.RouteInfo.PatchRoute == null
						? null
						: _routeMatcher.Match(sourceRoute, controllerMetaData.ExecParameters.RouteInfo.PatchRoute);

				case "DELETE":
					return controllerMetaData.ExecParameters.RouteInfo.DeleteRoute == null
						? null
						: _routeMatcher.Match(sourceRoute, controllerMetaData.ExecParameters.RouteInfo.DeleteRoute);
			}

			return null;
		}