我正在 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;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)