* 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

@ -670,15 +670,20 @@ begin
end;
if (rdoConnectionInURL in DispatchOptions) then
begin
C:=Strings.GetRestString(rpMetadataResourceName);
FMetadataRoute:=HTTPRouter.RegisterRoute(res+C,@HandleMetaDataRequest);
FMetadataItemRoute:=HTTPRouter.RegisterRoute(res+C+'/:id',@HandleMetaDataRequest);
// 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
C:=Strings.GetRestString(rpMetadataResourceName);
FMetadataRoute:=HTTPRouter.RegisterRoute(res+C,@HandleMetaDataRequest);
FMetadataItemRoute:=HTTPRouter.RegisterRoute(res+C+'/:id',@HandleMetaDataRequest);
end;
Res:=Res+':connection/';
end;
Res:=Res+':resource';
FListRoute:=HTTPRouter.RegisterRoute(res,@HandleRequest);
FItemRoute:=HTTPRouter.RegisterRoute(Res+'/:id',@HandleRequest);
end;
function TSQLDBRestDispatcher.GetInputFormat(IO : TRestIO) : String;