@@ -20,7 +20,10 @@ public RouteBuilder(JsonApiModelConfiguration configuration)
2020
2121 public Route BuildFromRequest ( HttpRequest request )
2222 {
23- var remainingPathString = SetBaseRouteDefinition ( request . Path ) ;
23+ PathString remainingPathString ;
24+ _baseRouteDefinition = SetBaseRouteDefinition ( request . Path , out remainingPathString ) ;
25+
26+ if ( _baseRouteDefinition == null ) return null ;
2427
2528 var querySet = new QuerySet ( request . Query ) ;
2629
@@ -52,18 +55,18 @@ private bool PathStringIsEmpty(PathString pathString)
5255 return pathString . HasValue ? string . IsNullOrEmpty ( pathString . ToString ( ) . TrimStart ( '/' ) ) : true ;
5356 }
5457
55- private PathString SetBaseRouteDefinition ( PathString path )
58+ private RouteDefinition SetBaseRouteDefinition ( PathString path , out PathString remainingPath )
5659 {
60+ PathString remainingPathTemp ;
5761 foreach ( var rte in _configuration . Routes )
5862 {
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 ) )
6164 {
62- _baseRouteDefinition = rte ;
63- return remainingPathString ;
65+ remainingPath = remainingPathTemp ;
66+ return rte ;
6467 }
6568 }
66- throw new Exception ( "Route is not defined." ) ;
69+ return null ;
6770 }
6871
6972 private PathString SetBaseResourceId ( PathString remainPathString )
0 commit comments