com.thoughtworks.akka.http.TwirlSupport.scala Maven / Gradle / Ivy
package com.thoughtworks.akka.http
import akka.http.scaladsl.marshalling.{Marshaller, ToEntityMarshaller}
import akka.http.scaladsl.model.MediaTypes._
import akka.http.scaladsl.model.MediaType
import play.twirl.api.{ Xml, Txt, Html }
object TwirlSupport extends TwirlSupport
trait TwirlSupport {
/** Serialize Twirl `Html` to `text/html`. */
implicit val twirlHtmlMarshaller = twirlMarshaller[Html](`text/html`)
/** Serialize Twirl `Txt` to `text/plain`. */
implicit val twirlTxtMarshaller = twirlMarshaller[Txt](`text/plain`)
/** Serialize Twirl `Xml` to `text/xml`. */
implicit val twirlXmlMarshaller = twirlMarshaller[Xml](`text/xml`)
/** Serialize Twirl formats to `String`. */
protected def twirlMarshaller[A <: AnyRef: Manifest](contentType: MediaType): ToEntityMarshaller[A] =
Marshaller.StringMarshaller.wrap(contentType)(_.toString)
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy