gpt4 book ai didi

http - 如何为从 ServiceStack 的虚拟文件系统下载的文件添加 header ?

转载 作者:可可西里 更新时间:2023-11-01 17:07:47 25 4
gpt4 key购买 nike

我正在利用 ServiceStack 的虚拟文件系统和 code-snippet on the wiki在启动时缩小内容。但是,我看不到可以添加自定义 header 的方法,例如 those recommended用于 Cache-Control

我可能会使用全局响应过滤器,但 a) 我不认为它们使用“静态”文件,并且 b) 需要一些粗糙的响应逻辑。

如何向 ServiceStack 中的 IVirtualPathProvider 提供的内容添加 header ?

最佳答案

静态文件由 StaticFileHandler 服务.它已经添加了 Cache-Control and LastModified headers并将return a 304如果文件自上次请求以来未被修改。

InMemoryVirtualPathProvider 的最新版本已经是rewritten维护consistent behavior with the new S3VirtualPathProvider现在包括每个文件的 LastModified 时间戳,StaticFileHandler 可以利用它。

此更改从现在的 v4.0.47 开始可用 available on MyGet .

使用自定义 StaticFilesHandler ResponseFilter 添加 header

您仍然可以通过注册 StaticFileHandler.ResponseFilter 添加您自己的自定义 HTTP 响应 header ,例如:

StaticFileHandler.ResponseFilter = (req,res,file) => {
res.AddHeader(headerName, headerValue);

//res.Close(); Closing the Response will stop further processing
};

关于http - 如何为从 ServiceStack 的虚拟文件系统下载的文件添加 header ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33603380/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com