Joe*_*oel 5 delphi datasnap delphi-xe3
我在Delphi XE3中实现了一个REST服务器API(大约十年来第一次使用Delphi,所以有点生疏).目前它使用Indy服务器进行调试,但最终它将是一个ISAPI DLL.
现在我已经实现了许多TDSServerClass类,并希望在类方法中访问请求头.因此,例如当用户请求mysite.com/datasnap/rest/foo/bar时,我希望能够在名为bar的foo类方法中读取标头.这可能吗?
如果没有,是否可以在传入请求到达REST类方法之前创建传入请求的全局过滤器?我需要检查传入请求的API密钥和用户身份验证,而不确定实现的最佳方法.谢谢.
我不知道 XE3 中是否有任何改变,但在 XE2 中你可以执行以下操作:
uses
Web.HTTPApp,
Datasnap.DSHTTPWebBroker;
function TServerMethods1.EchoString(Value: string): string;
var
Module: TWebModule;
begin
Module := GetDataSnapWebModule;
Result := Module.Request.RemoteIP + ': ' + Value;
end;
Run Code Online (Sandbox Code Playgroud)