@@ -20,7 +20,10 @@ public RouteBuilder(JsonApiModelConfiguration configuration)
20
20
21
21
public Route BuildFromRequest ( HttpRequest request )
22
22
{
23
- var remainingPathString = SetBaseRouteDefinition ( request . Path ) ;
23
+ PathString remainingPathString ;
24
+ _baseRouteDefinition = SetBaseRouteDefinition ( request . Path , out remainingPathString ) ;
25
+
26
+ if ( _baseRouteDefinition == null ) return null ;
24
27
25
28
var querySet = new QuerySet ( request . Query ) ;
26
29
@@ -52,18 +55,18 @@ private bool PathStringIsEmpty(PathString pathString)
52
55
return pathString . HasValue ? string . IsNullOrEmpty ( pathString . ToString ( ) . TrimStart ( '/' ) ) : true ;
53
56
}
54
57
55
- private PathString SetBaseRouteDefinition ( PathString path )
58
+ private RouteDefinition SetBaseRouteDefinition ( PathString path , out PathString remainingPath )
56
59
{
60
+ PathString remainingPathTemp ;
57
61
foreach ( var rte in _configuration . Routes )
58
62
{
59
- PathString remainingPathString ;
60
- if ( path . StartsWithSegments ( new PathString ( rte . PathString ) , StringComparison . OrdinalIgnoreCase , out remainingPathString ) )
63
+ if ( path . StartsWithSegments ( new PathString ( rte . PathString ) , StringComparison . OrdinalIgnoreCase , out remainingPathTemp ) )
61
64
{
62
- _baseRouteDefinition = rte ;
63
- return remainingPathString ;
65
+ remainingPath = remainingPathTemp ;
66
+ return rte ;
64
67
}
65
68
}
66
- throw new Exception ( "Route is not defined." ) ;
69
+ return null ;
67
70
}
68
71
69
72
private PathString SetBaseResourceId ( PathString remainPathString )
0 commit comments