41 lines
1.1 KiB
C#
41 lines
1.1 KiB
C#
using System;
|
|
using Microsoft.Owin;
|
|
|
|
namespace Microsoft.AspNet.Mvc.Routing
|
|
{
|
|
// Move to routing middleware
|
|
public interface IRouteData
|
|
{
|
|
string GetRouteValue(string name);
|
|
}
|
|
|
|
public class FakeRouteData : IRouteData
|
|
{
|
|
private readonly string[] _parts;
|
|
|
|
public FakeRouteData(IOwinContext context)
|
|
{
|
|
_parts = (context.Request.PathBase + context.Request.Path).Value.Split(new[] { '/' }, StringSplitOptions.RemoveEmptyEntries);
|
|
}
|
|
|
|
public string GetRouteValue(string name)
|
|
{
|
|
if (name.Equals("controller", StringComparison.OrdinalIgnoreCase))
|
|
{
|
|
return GetPartOrDefault(0, "HomeController");
|
|
}
|
|
else if (name.Equals("action", StringComparison.OrdinalIgnoreCase))
|
|
{
|
|
return GetPartOrDefault(1, "Index");
|
|
}
|
|
|
|
return null;
|
|
}
|
|
|
|
private string GetPartOrDefault(int index, string defaultValue)
|
|
{
|
|
return index < _parts.Length ? _parts[index] : defaultValue;
|
|
}
|
|
}
|
|
}
|