diff --git a/core/src/main/scala/com/softwaremill/session/SessionSerializer.scala b/core/src/main/scala/com/softwaremill/session/SessionSerializer.scala index 935b5f1a..0b946609 100644 --- a/core/src/main/scala/com/softwaremill/session/SessionSerializer.scala +++ b/core/src/main/scala/com/softwaremill/session/SessionSerializer.scala @@ -24,16 +24,16 @@ class MultiValueSessionSerializer[T](toMap: T => Map[String, String], fromMap: M import SessionSerializer._ override def serialize(t: T) = toMap(t) - .map { case (k, v) => urlEncode(k) + urlEncode("=") + urlEncode(v) } - .mkString(urlEncode("&")) + .map { case (k, v) => urlEncode(k) + "~" + urlEncode(v) } + .mkString("&") override def deserialize(s: String) = { Try { if (s == "") Map.empty[String, String] else { s - .split(urlEncode("&")) - .map(_.split(urlEncode("="), 2)) + .split("&") + .map(_.split("~", 2)) .map(p => urlDecode(p(0)) -> urlDecode(p(1))) .toMap }