|
@@ -670,15 +670,20 @@ begin
|
|
end;
|
|
end;
|
|
if (rdoConnectionInURL in DispatchOptions) then
|
|
if (rdoConnectionInURL in DispatchOptions) then
|
|
begin
|
|
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/';
|
|
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;
|