【问题标题】:Automatically Insert ETag (asset fingerprinting) as comment at top of the resource自动插入 ETag(资产指纹)作为资源顶部的注释
【发布时间】:2014-08-14 14:25:40
【问题描述】:

如何让 Play 在不使用第三方插件的情况下自动将文件的 ETag 作为评论插入文件顶部附近?

例如,对于 HTML 资源,在 <head> 标记的顶部插入 <!-- ETag: 1234 -->

如何使用 Play 框架的内置公共资产路由/指纹支持来解决此问题的答案也很棒。 :)

相关问题: Custom ETag algorithm for asset fingerprinting & Embed ETag in URL

【问题讨论】:

  • Embed ETag in URL的可能重复
  • @applicius 这个问题是关于 ETag 本身(它是如何计算的),这个问题是关于将 ETag 放在不同的位置(在文件中而不是作为 HTTP 标头或 URL 中)。有意义吗?
  • 我想我真的很高兴能把这么近的问题集中在一起。
  • @applicius 那是我最初的计划,但我意识到可能在一个问题中问太多了。有些人可能只有一个答案,而对另外两个没有答案。例如,有人可能知道如何配置 URL 行为,但不知道如何在每个资源的顶部插入 ETag。
  • 一堆3三个问题对我来说不是更好。

标签: scala playframework


【解决方案1】:

conf/routes 中添加以下内容:

GET  /resources/*file  controllers.Resources.at(file)

app/controllers/Resources 控制器中:

package controllers

import play.api.mvc._

object Resources extends Controller {
  def at(path: String): Action = {
    // calculate ETag
    val etag = ETag(path)
    // stream file with ETag inserted
    Ok(... <!-- ETag: etag --> ...)
  }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-12-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-30
    • 1970-01-01
    相关资源
    最近更新 更多