Navigation | Overlay |
---|---|
t Navigate files | h Toggle hits |
y Change url to tip of branch | m Toggle misses |
b / v Jump to prev/next hit line | p Toggle partial |
z / x Jump to prev/next missed or partial line | 1..9 Toggle flags |
shift + o Open current page in GitHub | a Toggle all on |
/ or ? Show keyboard shortcuts dialog | c Toggle context lines or commits |
1 |
package hammock |
|
2 |
package akka |
|
3 |
|
|
4 |
import _root_.akka.http.scaladsl.marshalling._ |
|
5 |
import _root_.akka.http.scaladsl.unmarshalling._ |
|
6 |
import _root_.akka.http.scaladsl.model.HttpEntity |
|
7 |
|
|
8 |
object implicits { |
|
9 |
implicit def encoderToEntityMarshaller[A: Encoder]: ToEntityMarshaller[A] = Marshaller.strict { a => |
|
10 |
Encoder[A].encode(a) match { |
|
11 |
case Entity.StringEntity(body, _) => Marshalling.Opaque(() => HttpEntity(body)) |
|
12 |
case Entity.ByteArrayEntity(body, _) => Marshalling.Opaque(() => HttpEntity(body)) |
|
13 |
case Entity.EmptyEntity => Marshalling.Opaque(() => HttpEntity.Empty) |
|
14 |
}
|
|
15 |
}
|
|
16 |
|
|
17 |
implicit def decoderFromEntityUnmarshaller[A: Decoder]: FromEntityUnmarshaller[A] = |
|
18 |
PredefinedFromEntityUnmarshallers.stringUnmarshaller |
|
19 |
.map(str => Decoder[A].decode(Entity.StringEntity(str))) |
|
20 |
.map(_.fold(throw _, identity)) |
|
21 |
}
|
Read our documentation on viewing source code .