* Correct registration of metadata resource in case rdoConnectionInURL is specified

git-svn-id: trunk@42263 -
This commit is contained in:
michael 2019-06-22 07:29:34 +00:00
parent ce528e1808
commit 4cb612252a

View File

@ -669,16 +669,21 @@ begin
FConnectionItemRoute:=HTTPRouter.RegisterRoute(res+C+'/:id',@HandleConnRequest); FConnectionItemRoute:=HTTPRouter.RegisterRoute(res+C+'/:id',@HandleConnRequest);
end; end;
if (rdoConnectionInURL in DispatchOptions) then if (rdoConnectionInURL in DispatchOptions) then
begin
// Both connection/metadata and /metadata must work.
// connection/metadata is handled by HandleRequest (FindSpecialResource)
// /metadata must be handled here.
if (rdoExposeMetadata in DispatchOptions) then
begin begin
C:=Strings.GetRestString(rpMetadataResourceName); C:=Strings.GetRestString(rpMetadataResourceName);
FMetadataRoute:=HTTPRouter.RegisterRoute(res+C,@HandleMetaDataRequest); FMetadataRoute:=HTTPRouter.RegisterRoute(res+C,@HandleMetaDataRequest);
FMetadataItemRoute:=HTTPRouter.RegisterRoute(res+C+'/:id',@HandleMetaDataRequest); FMetadataItemRoute:=HTTPRouter.RegisterRoute(res+C+'/:id',@HandleMetaDataRequest);
end;
Res:=Res+':connection/'; Res:=Res+':connection/';
end; end;
Res:=Res+':resource'; Res:=Res+':resource';
FListRoute:=HTTPRouter.RegisterRoute(res,@HandleRequest); FListRoute:=HTTPRouter.RegisterRoute(res,@HandleRequest);
FItemRoute:=HTTPRouter.RegisterRoute(Res+'/:id',@HandleRequest); FItemRoute:=HTTPRouter.RegisterRoute(Res+'/:id',@HandleRequest);
end; end;
function TSQLDBRestDispatcher.GetInputFormat(IO : TRestIO) : String; function TSQLDBRestDispatcher.GetInputFormat(IO : TRestIO) : String;