Skip to content

Instantly share code, notes, and snippets.

@NoelKennedy
Created July 12, 2011 08:40
Show Gist options
  • Save NoelKennedy/1077633 to your computer and use it in GitHub Desktop.
Save NoelKennedy/1077633 to your computer and use it in GitHub Desktop.
jsonp renderer for bowler
class JsonpViewRenderer extends JsonViewRenderer {
var nameOfCallbackParameter = "callback"
private def jsonWithPadding(renderJson: => Unit, request: Request, response: Response) = {
val callbackOption = request.getStringParameter(nameOfCallbackParameter)
callbackOption match {
case None => renderJson
case Some(callback) => {
response.getWriter.write(callback + "(")
renderJson
response.getWriter.write(")")
}
}
}
override def renderView(request : Request, response : Response, models : Seq[scala.Any]) : Unit = {
jsonWithPadding(super.renderView(request, response, models), request, response)
}
override def renderView(request : Request, response : Response) : Unit = {
jsonWithPadding(super.renderView(request, response), request, response)
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment