summaryrefslogtreecommitdiff
path: root/cask/src/cask/model/Response.scala
diff options
context:
space:
mode:
Diffstat (limited to 'cask/src/cask/model/Response.scala')
-rw-r--r--cask/src/cask/model/Response.scala18
1 files changed, 17 insertions, 1 deletions
diff --git a/cask/src/cask/model/Response.scala b/cask/src/cask/model/Response.scala
index 979c442..9ac5664 100644
--- a/cask/src/cask/model/Response.scala
+++ b/cask/src/cask/model/Response.scala
@@ -62,7 +62,7 @@ case class Abort(code: Int) extends Response {
override def cookies = Nil
}
-case class Static(path: String) extends Response {
+case class StaticFile(path: String) extends Response {
val relPath = java.nio.file.Paths.get(path)
val (data0, statusCode0) =
if (java.nio.file.Files.exists(relPath) && java.nio.file.Files.isRegularFile(relPath)){
@@ -79,6 +79,22 @@ case class Static(path: String) extends Response {
override def cookies = Nil
}
+case class StaticResource(path: String, resourceRoot: ClassLoader) extends Response {
+ val relPath = java.nio.file.Paths.get(path)
+ val (data0, statusCode0) = resourceRoot.getResourceAsStream(path) match{
+ case null => ("": Response.Data, 404)
+ case res => (res: Response.Data, 200)
+ }
+
+ override def data = data0
+
+ override def statusCode = statusCode0
+
+ override def headers = Nil
+
+ override def cookies = Nil
+}
+