aboutsummaryrefslogtreecommitdiff
path: root/json/circe/src/main/scala/com/softwaremill/sttp/circe/package.scala
blob: ddc9583f82fea604c1fb0a836d5b873ab6ec6513 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
package com.softwaremill.sttp

import io.circe.parser._
import io.circe.{Decoder, Encoder}

package object circe {

  implicit def circeBodySerializer[B](
      implicit encoder: Encoder[B]): BodySerializer[B] =
    b => StringBody(encoder(b).noSpaces, Utf8, Some(ApplicationJsonContentType))

  def asJson[B: Decoder]: ResponseAs[Either[io.circe.Error, B], Nothing] =
    asString(Utf8).map(decode[B])

}