Skip to content
This repository was archived by the owner on Nov 27, 2018. It is now read-only.

Commit cef4a3e

Browse files
committed
Removing dictionary overloads from MapRoute.
1 parent a6c872b commit cef4a3e

File tree

1 file changed

+14
-60
lines changed

1 file changed

+14
-60
lines changed

src/Microsoft.AspNet.Routing/RouteBuilderExtensions.cs

Lines changed: 14 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -23,71 +23,14 @@ public static IRouteBuilder MapRoute(this IRouteBuilder routeCollectionBuilder,
2323
string template,
2424
object defaults)
2525
{
26-
MapRoute(routeCollectionBuilder, name, template, new RouteValueDictionary(defaults));
27-
return routeCollectionBuilder;
28-
}
29-
30-
public static IRouteBuilder MapRoute(this IRouteBuilder routeCollectionBuilder,
31-
string name,
32-
string template,
33-
IDictionary<string, object> defaults)
34-
{
35-
if (routeCollectionBuilder.DefaultHandler == null)
36-
{
37-
throw new InvalidOperationException(Resources.DefaultHandler_MustBeSet);
38-
}
39-
40-
var inlineConstraintResolver = routeCollectionBuilder
41-
.ServiceProvider
42-
.GetService<IInlineConstraintResolver>();
43-
44-
routeCollectionBuilder.Routes.Add(new TemplateRoute(routeCollectionBuilder.DefaultHandler,
45-
name,
46-
template,
47-
defaults,
48-
constraints: null,
49-
inlineConstraintResolver: inlineConstraintResolver));
50-
return routeCollectionBuilder;
26+
return MapRoute(routeCollectionBuilder, name, template, defaults, constraints: null);
5127
}
5228

5329
public static IRouteBuilder MapRoute(this IRouteBuilder routeCollectionBuilder,
5430
string name,
5531
string template,
5632
object defaults,
5733
object constraints)
58-
{
59-
MapRoute(routeCollectionBuilder,
60-
name,
61-
template,
62-
new RouteValueDictionary(defaults),
63-
new RouteValueDictionary(constraints));
64-
return routeCollectionBuilder;
65-
}
66-
67-
public static IRouteBuilder MapRoute(this IRouteBuilder routeCollectionBuilder,
68-
string name,
69-
string template,
70-
object defaults,
71-
IDictionary<string, object> constraints)
72-
{
73-
MapRoute(routeCollectionBuilder, name, template, new RouteValueDictionary(defaults), constraints);
74-
return routeCollectionBuilder;
75-
}
76-
77-
public static IRouteBuilder MapRoute(this IRouteBuilder routeCollectionBuilder,
78-
string name,
79-
string template,
80-
IDictionary<string, object> defaults, object constraints)
81-
{
82-
MapRoute(routeCollectionBuilder, name, template, defaults, new RouteValueDictionary(constraints));
83-
return routeCollectionBuilder;
84-
}
85-
86-
public static IRouteBuilder MapRoute(this IRouteBuilder routeCollectionBuilder,
87-
string name,
88-
string template,
89-
IDictionary<string, object> defaults,
90-
IDictionary<string, object> constraints)
9134
{
9235
if (routeCollectionBuilder.DefaultHandler == null)
9336
{
@@ -100,10 +43,21 @@ public static IRouteBuilder MapRoute(this IRouteBuilder routeCollectionBuilder,
10043
routeCollectionBuilder.Routes.Add(new TemplateRoute(routeCollectionBuilder.DefaultHandler,
10144
name,
10245
template,
103-
defaults,
104-
constraints,
46+
ObjectToDictionary(defaults),
47+
ObjectToDictionary(constraints),
10548
inlineConstraintResolver));
10649
return routeCollectionBuilder;
10750
}
51+
52+
private static IDictionary<string, object> ObjectToDictionary(object value)
53+
{
54+
var dictionary = value as IDictionary<string, object>;
55+
if (dictionary != null)
56+
{
57+
return dictionary;
58+
}
59+
60+
return new RouteValueDictionary(value);
61+
}
10862
}
10963
}

0 commit comments

Comments
 (0)