Advertisement
Guest User

Untitled

a guest
Jan 26th, 2017
127
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.11 KB | None | 0 0
  1. case class Token(token: String)
  2. case class Login(username: String, password: String)
  3. object JsonCodec {
  4. implicit val decodeToken : Decoder[Token] = Decoder.forProduct1("token")(Token.apply)
  5. implicit val encodeToken : Encoder[Token] = Encoder.forProduct1("token")(u => u.token)
  6. implicit val decodeLogin : Decoder[Login] = Decoder.forProduct2("username", "password")(Login.apply)
  7. implicit val encodeLogin : Encoder[Login] = Encoder.forProduct2("username", "password")(u => (u.username, u.password))
  8. }
  9.  
  10. import JsonCodec._
  11. val client = SimpleHttp1Client()
  12. val uri = Uri.fromString(url).valueOr(throw _)
  13. val list = List[Header](`Content-Type`(MediaType.`application/json`), `Accept`(MediaType.`application/json`))
  14. val req = Request(uri = uri, method = Method.POST).withBody(Login("f", "b")).map(_.replaceAllHeaders(list :_*))
  15. val result = client.expect(req)(jsonOf[Token]).unsafePerformSync
  16. Some(result.token)
  17.  
  18. Error:(49, 66) could not find implicit value for parameter w: org.http4s.EntityEncoder[Login]
  19. val req = Request(uri = uri, method = Method.POST).withBody(Login("f", "b")).map(_.replaceAllHeaders(list :_*))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement