Skip to content

Instantly share code, notes, and snippets.

@rossabaker
Created October 29, 2010 18:19
Show Gist options
  • Save rossabaker/654058 to your computer and use it in GitHub Desktop.
Save rossabaker/654058 to your computer and use it in GitHub Desktop.
Ensure that SSGI response bodies are renderable
scala> import org.scalatra.ssgi._
import org.scalatra.ssgi._
scala> val res = Response(body = "foo")
res: org.scalatra.ssgi.Response[java.lang.String] = Response(200,Map(),foo)
scala> res map { _.toUpperCase }
res10: org.scalatra.ssgi.Response[java.lang.String] = Response(200,Map(),FOO)
scala> res map { x => <h1>{x}</h1> }
res11: org.scalatra.ssgi.Response[scala.xml.Elem] = Response(200,Map(),<h1>foo</h1>)
scala> class Wtf
defined class Wtf
scala> res map { x => new Wtf }
<console>:20: error: could not find implicit value for evidence parameter of type (Wtf) => org.scalatra.ssgi.Renderable
res map { x => new Wtf }
^
scala> implicit def wtf2Renderable(wtf: Wtf) = new Renderable {}
wtf2Renderable: (wtf: Wtf)java.lang.Object with org.scalatra.ssgi.Renderable
scala> res map { x => new Wtf }
res14: org.scalatra.ssgi.Response[Wtf] = Response(200,Map(),Wtf@1c093b3c)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment