diff options
author | vlad <vlad@driver.xyz> | 2017-07-06 19:01:56 -0700 |
---|---|---|
committer | vlad <vlad@driver.xyz> | 2017-07-06 19:01:56 -0700 |
commit | 4bcb43f31dc2a65e2e0b5dcc07b44054ff7dc231 (patch) | |
tree | 2dd5bb1d52b8f277ef83773c392026ee7886d670 /src/main/scala/xyz/driver/core/json.scala | |
parent | c83566d7e22be806a6fc490b670eb5024a0b882d (diff) | |
download | driver-core-4bcb43f31dc2a65e2e0b5dcc07b44054ff7dc231.tar.gz driver-core-4bcb43f31dc2a65e2e0b5dcc07b44054ff7dc231.tar.bz2 driver-core-4bcb43f31dc2a65e2e0b5dcc07b44054ff7dc231.zip |
Json to string marshallers for pubsub messagesv0.13.17
Diffstat (limited to 'src/main/scala/xyz/driver/core/json.scala')
-rw-r--r-- | src/main/scala/xyz/driver/core/json.scala | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/main/scala/xyz/driver/core/json.scala b/src/main/scala/xyz/driver/core/json.scala index b203c91..e5173de 100644 --- a/src/main/scala/xyz/driver/core/json.scala +++ b/src/main/scala/xyz/driver/core/json.scala @@ -4,10 +4,10 @@ import java.util.UUID import scala.reflect.runtime.universe._ import scala.util.Try - import akka.http.scaladsl.model.Uri.Path import akka.http.scaladsl.server._ import akka.http.scaladsl.server.PathMatcher.{Matched, Unmatched} +import akka.http.scaladsl.marshalling.{Marshaller, Marshalling} import akka.http.scaladsl.unmarshalling.Unmarshaller import spray.json._ import xyz.driver.core.auth.AuthCredentials @@ -212,4 +212,10 @@ object json { new GadtJsonFormat[T](typeField, typeValue, jsonFormat) } } + + implicit val jsValueToStringMarshaller: Marshaller[JsValue, String] = + Marshaller.strict[JsValue, String](value => Marshalling.Opaque[String](() => value.compactPrint)) + + implicit def valueToStringMarshaller[T](implicit jsonFormat: JsonFormat[T]): Marshaller[T, String] = + jsValueToStringMarshaller.compose[T](jsonFormat.write) } |