-
-
Notifications
You must be signed in to change notification settings - Fork 4.1k
Closed
Milestone
Description
I use play 2.3.4, controllers.Assets.versioned().
There are some files.
/public/javascripts/Front.js
/public/javascripts/Front.js.md5 = 48b24e0a
/public/javascripts/48b24e0a-Front.js
route /assets/v/*file is controllers.FtAssets.versioned(path="/public", file:Asset)
in unit-test, I start testServer and get /assets/v/javascripts/48b24e0a-Front.js,
play throw InvalidUriEncodingException .
! @6k16oe98d - Internal server error, for (GET) [/assets/v/javascripts/48b24e0a-Front.js] ->
at scala.Option.map(Option.scala:145)
play.api.Application$$anon$1: Execution exception[[InvalidUriEncodingException: Cannot decode javascripts\Front.js: illegal character at position 12.]]
Exception was thrown in the next part.
AssetsBuilder.versioned("/public","/javascripts/48b24e0a-Front.js") => AssetsBuilder.at("/public","/javascripts\Front.js")
I create monkey-patched assets, and test it, it did not throw an exception.
object AAssets extends AssetsBuilder{
override def at(path: String, file: String, aggressiveCaching: Boolean = false) = super.at(path, file.replaceAll("\\\\", "/"), aggressiveCaching)
}