如何在Delphi 2010 DataSnap服务器中访问/修改请求/响应的标头

3
我正在构建一个DataSnap服务器,作为WebDAV服务器,并尝试在使用DSHTTPService时读取请求头,然后修改响应头。
有人能指点我正确的方向吗?我注意到Trace TDSRequest和TDSResponse是TDSRequestIndy和TDSResponseIndy的祖先,这些组件可以访问头文件,但我不太确定如何从TDSRequest到达TDSRequestIndy。
另外,我认为Trace可能不是访问请求和响应的最清晰方式,但这是我目前找到的唯一方法。
之所以尝试使用DataSnap而不是直接使用Indy,是因为我希望使用DataSnap进行其他远程方法。

2
好问题,获取访问cookie也可能很有趣。 - Francis Lee
1个回答

1
也许你应该考虑使用TidHTTPServer并创建一个具有许多事件和方法的indy服务器,而不是从DSHTTPService开始,包括OnBeforeBind、OnAfterBind、OnHeadersAvailable等事件,在这些事件中你可以访问头信息。

感谢您在长时间没有回复后的答复。不幸的是,我更喜欢在服务器中只使用一个端口,并且希望将DataSnap和WebDAV部分合并。 我后来发现我可以重新实现通常为私有的TDSHTTPServerIndy,这样就可以让我访问完整的请求和响应对象。 - GoldenTao

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接