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 }