summaryrefslogtreecommitdiff
path: root/cask/src/cask/model/Params.scala
diff options
context:
space:
mode:
Diffstat (limited to 'cask/src/cask/model/Params.scala')
-rw-r--r--cask/src/cask/model/Params.scala36
1 files changed, 20 insertions, 16 deletions
diff --git a/cask/src/cask/model/Params.scala b/cask/src/cask/model/Params.scala
index 8f206c8..901cca4 100644
--- a/cask/src/cask/model/Params.scala
+++ b/cask/src/cask/model/Params.scala
@@ -76,24 +76,28 @@ case class Cookie(name: String,
}
-object FormValue{
+sealed trait FormEntry{
+ def valueOrFileName: String
+ def headers: io.undertow.util.HeaderMap
+ def asFile: Option[FormFile] = this match{
+ case p: FormValue => None
+ case p: FormFile => Some(p)
+ }
+}
+object FormEntry{
def fromUndertow(from: io.undertow.server.handlers.form.FormData.FormValue) = {
- if (!from.isFile) Plain(from.getValue, from.getHeaders)
- else File(from.getValue, from.getFileName, from.getPath, from.getHeaders)
+ if (!from.isFile) FormValue(from.getValue, from.getHeaders)
+ else FormFile(from.getFileName, from.getPath, from.getHeaders)
}
- case class Plain(value: String,
- headers: io.undertow.util.HeaderMap) extends FormValue
- case class File(value: String,
- fileName: String,
- filePath: java.nio.file.Path,
- headers: io.undertow.util.HeaderMap) extends FormValue
}
-sealed trait FormValue{
- def value: String
- def headers: io.undertow.util.HeaderMap
- def asFile: Option[FormValue.File] = this match{
- case p: FormValue.Plain => None
- case p: FormValue.File => Some(p)
- }
+case class FormValue(value: String,
+ headers: io.undertow.util.HeaderMap) extends FormEntry{
+ def valueOrFileName = value
+}
+
+case class FormFile(fileName: String,
+ filePath: java.nio.file.Path,
+ headers: io.undertow.util.HeaderMap) extends FormEntry{
+ def valueOrFileName = fileName
}