Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class LoggingSttpBackend[R[_], S](delegate: SttpBackend[R, S])
- extends SttpBackend[R, S] with StrictLogging {
- override def send[T](request: Request[T, S]): R[Response[T]] = {
- responseMonad.map(responseMonad.handleError(delegate.send(request)) {
- case e: Exception =>
- logger.error(
- s"Exception when sending request: $request.\n" +
- s"To reproduce, run: ${request.toCurl}",
- e
- )
- responseMonad.error(e)
- }) { response =>
- logger.debug(
- s"For request: $request got response: $response.\n" +
- s"To reproduce, run: ${request.toCurl}"
- )
- response
- }
- }
- override def close(): Unit = delegate.close()
- override def responseMonad: MonadError[R] = delegate.responseMonad
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement