scala-news-reader
rss/atom news reader in scala
git clone https://9o.is/git/scala-news-reader.git
URLSerializer.scala
(615B)
1 package com.joereader.lib.api.rest
2
3 import net.liftweb.json._
4 import java.net.URL
5
6 class URLSerializer extends Serializer[URL] {
7 private val URLClass = classOf[URL]
8
9 def deserialize(implicit format: Formats): PartialFunction[(TypeInfo, JValue), URL] = {
10 case (TypeInfo(URLClass, _), json) => json match {
11 case JString(s) => new URL(s.replaceAll("""\\""", ""))
12 case x => throw new MappingException("Can't convert " + x + " to URL")
13 }
14 }
15
16 def serialize(implicit format: Formats): PartialFunction[Any, JValue] = {
17 case x: URL =>
18 JString(x.toString.replaceAll("/", """\\/"""))
19 }
20 }