首页 > 解决方案 > DataSnap 服务器方法内部,如何读取所有请求标头

问题描述

当我知道自定义标头的名称时,可以通过以下方式获取值:

function TControllerAplicacao.EchoString(Value: string): string;
var
 objWebModule: TWebModule; //need Web.HTTPApp
begin
  objWebModule := GetDataSnapWebModule; //need Datasnap.DSHTTPWebBroker

 Result := objWebModule.Request.GetFieldByName('MY-KEY-NAME');

end;

但是在我的 ServerMethod 上,我需要从 Request-Header 获取所有密钥对。怎么做 ?

有 rawHeaders(使用 IdHTTP、IdHTTPWebBrokerBridge、IdHTTPHeaderInfo),但我无法从 DATASNAP REST 在 ServerMethod 中访问它。有什么想法吗?

标签: delphidatasnap

解决方案


我用 Danielle Teti 的 DMVC 框架解决了这个问题。所以我将 EndPoint Style DataSnap 迁移到 DMVC。


推荐阅读