Explorar o código

* raise error on non-existing route

michael %!s(int64=6) %!d(string=hai) anos
pai
achega
ec6b4841f2
Modificáronse 1 ficheiros con 4 adicións e 1 borrados
  1. 4 1
      packages/rtl/webrouter.pp

+ 4 - 1
packages/rtl/webrouter.pp

@@ -612,7 +612,10 @@ function TRouter.DoRouteRequest(ARoute: TRoute; const AURL: String;
   AParams: TStrings): TRoute;
   AParams: TStrings): TRoute;
 begin
 begin
   Result:=aRoute;
   Result:=aRoute;
-  Result.HandleRequest(Self,aURL,AParams);
+  if Assigned(Result) then
+    Result.HandleRequest(Self,aURL,AParams)
+  else
+    Raise EHTTPRoute.CreateFmt('No route for URL: %s',[aURL]);
 end;
 end;
 
 
 function TRouter.DoRouteRequest(AURL: String): TRoute;
 function TRouter.DoRouteRequest(AURL: String): TRoute;