summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLi Haoyi <haoyi.sg@gmail.com>2018-07-25 16:58:15 +0800
committerLi Haoyi <haoyi.sg@gmail.com>2018-07-25 16:58:15 +0800
commit8a7a665f3d6cd386e57a55dcb003d25b76b14138 (patch)
tree82b439f0e3b3312586efef2fc0d1491095c01454
parent688e69c3ca8f5a39423557a20473b580632c2b33 (diff)
downloadcask-8a7a665f3d6cd386e57a55dcb003d25b76b14138.tar.gz
cask-8a7a665f3d6cd386e57a55dcb003d25b76b14138.tar.bz2
cask-8a7a665f3d6cd386e57a55dcb003d25b76b14138.zip
collapse `CookieParam` into `Cookie`
-rw-r--r--cask/src/cask/endpoints/Params.scala58
-rw-r--r--cask/src/cask/model/Cookie.scala47
-rw-r--r--cask/src/cask/model/Response.scala2
-rw-r--r--cask/src/cask/package.scala8
-rw-r--r--cask/test/src/test/cask/Cookies.scala4
5 files changed, 51 insertions, 68 deletions
diff --git a/cask/src/cask/endpoints/Params.scala b/cask/src/cask/endpoints/Params.scala
index 6ff9dc1..7a56085 100644
--- a/cask/src/cask/endpoints/Params.scala
+++ b/cask/src/cask/endpoints/Params.scala
@@ -1,27 +1,59 @@
package cask.endpoints
-import cask.Cookie
import cask.endpoints.ParamReader.NilParam
+import io.undertow.server.handlers.CookieImpl
class Subpath(val value: Seq[String])
object Subpath{
implicit object SubpathParam extends NilParam[Subpath]((ctx, label) => new Subpath(ctx.remaining))
-
-}
-class Cookies(val value: Map[String, Cookie])
-object Cookies{
- implicit object CookieParam extends NilParam[Cookies]((ctx, label) => {
- import collection.JavaConverters._
- new Cookies(ctx.exchange.getRequestCookies.asScala.toMap.map{case (k, v) => (k, Cookie.fromUndertow(v))})
- })
}
-object CookieParam{
- implicit object CookieParamParam extends NilParam[CookieParam]((ctx, label) =>
- new CookieParam(Cookie.fromUndertow(ctx.exchange.getRequestCookies().get(label)))
+
+
+object Cookie{
+ implicit object CookieParam extends NilParam[Cookie]((ctx, label) =>
+ Cookie.fromUndertow(ctx.exchange.getRequestCookies().get(label))
)
+ def fromUndertow(from: io.undertow.server.handlers.Cookie): Cookie = {
+ Cookie(
+ from.getName,
+ from.getValue,
+ from.getComment,
+ from.getDomain,
+ if (from.getExpires == null) null else from.getExpires.toInstant,
+ from.getMaxAge,
+ from.getPath,
+ from.getVersion,
+ from.isDiscard,
+ from.isHttpOnly,
+ from.isSecure
+ )
+ }
+ def toUndertow(from: Cookie): io.undertow.server.handlers.Cookie = {
+ val out = new CookieImpl(from.name, from.value)
+ out.setComment(from.comment)
+ out.setDomain(from.domain)
+ out.setExpires(if (from.expires == null) null else java.util.Date.from(from.expires))
+ out.setMaxAge(from.maxAge)
+ out.setPath(from.path)
+ out.setVersion(from.version)
+ out.setDiscard(from.discard)
+ out.setHttpOnly(from.httpOnly)
+ out.setSecure(from.secure)
+ }
}
+case class Cookie(name: String,
+ value: String,
+ comment: String = null,
+ domain: String = null,
+ expires: java.time.Instant = null,
+ maxAge: Integer = null,
+ path: String = null,
+ version: Int = 1,
+ discard: Boolean = false,
+ httpOnly: Boolean = false,
+ secure: Boolean = false) {
-case class CookieParam(cookie: Cookie)
+}
object FormValue{
diff --git a/cask/src/cask/model/Cookie.scala b/cask/src/cask/model/Cookie.scala
deleted file mode 100644
index 4934e87..0000000
--- a/cask/src/cask/model/Cookie.scala
+++ /dev/null
@@ -1,47 +0,0 @@
-package cask.model
-
-import io.undertow.server.handlers.CookieImpl
-
-
-object Cookie{
- def fromUndertow(from: io.undertow.server.handlers.Cookie): Cookie = {
- Cookie(
- from.getName,
- from.getValue,
- from.getComment,
- from.getDomain,
- if (from.getExpires == null) null else from.getExpires.toInstant,
- from.getMaxAge,
- from.getPath,
- from.getVersion,
- from.isDiscard,
- from.isHttpOnly,
- from.isSecure
- )
- }
- def toUndertow(from: Cookie): io.undertow.server.handlers.Cookie = {
- val out = new CookieImpl(from.name, from.value)
- out.setComment(from.comment)
- out.setDomain(from.domain)
- out.setExpires(if (from.expires == null) null else java.util.Date.from(from.expires))
- out.setMaxAge(from.maxAge)
- out.setPath(from.path)
- out.setVersion(from.version)
- out.setDiscard(from.discard)
- out.setHttpOnly(from.httpOnly)
- out.setSecure(from.secure)
- }
-}
-case class Cookie(name: String,
- value: String,
- comment: String = null,
- domain: String = null,
- expires: java.time.Instant = null,
- maxAge: Integer = null,
- path: String = null,
- version: Int = 1,
- discard: Boolean = false,
- httpOnly: Boolean = false,
- secure: Boolean = false) {
-
-}
diff --git a/cask/src/cask/model/Response.scala b/cask/src/cask/model/Response.scala
index b3bb22b..5443014 100644
--- a/cask/src/cask/model/Response.scala
+++ b/cask/src/cask/model/Response.scala
@@ -2,6 +2,8 @@ package cask.model
import java.io.{InputStream, OutputStream, OutputStreamWriter}
+import cask.endpoints.Cookie
+
trait BaseResponse{
def data: BaseResponse.Data
diff --git a/cask/src/cask/package.scala b/cask/src/cask/package.scala
index 37ea5d9..b715814 100644
--- a/cask/src/cask/package.scala
+++ b/cask/src/cask/package.scala
@@ -6,8 +6,6 @@ package object cask {
val Abort = model.Abort
type Redirect = model.Redirect
val Redirect = model.Redirect
- type Cookie = model.Cookie
- val Cookie = model.Cookie
// endpoints
type get = endpoints.get
@@ -21,12 +19,10 @@ package object cask {
// endpoints misc
type FormValue = endpoints.FormValue
val FormValue = endpoints.FormValue
- type Cookies = endpoints.Cookies
- val Cookies = endpoints.Cookies
+ type Cookie = endpoints.Cookie
+ val Cookie = endpoints.Cookie
type Subpath = endpoints.Subpath
val Subpath = endpoints.Subpath
- type CookieParam = endpoints.CookieParam
- val CookieParam = endpoints.CookieParam
// main
type MainRoutes = main.MainRoutes
diff --git a/cask/test/src/test/cask/Cookies.scala b/cask/test/src/test/cask/Cookies.scala
index 123d6a9..cc64e5d 100644
--- a/cask/test/src/test/cask/Cookies.scala
+++ b/cask/test/src/test/cask/Cookies.scala
@@ -2,8 +2,8 @@ package test.cask
object Cookies extends cask.MainRoutes{
@cask.get("/read-cookie")
- def readCookies(username: cask.CookieParam) = {
- username.cookie.value
+ def readCookies(username: cask.Cookie) = {
+ username.value
}
@cask.get("/store-cookie")