sendRequest :: (MonadIO m) => BearyChat -> IncomingRequest -> AppM m IncomingResponse
sendRequest bc req = do
   infoLn $ "Request: " <> encodeToText req
   res <- liftIO $ do
     res <- W.post ("https://hook.bearychat.com/" <> cs (incomingKey bc)) (toJSON req)
     let r = join $ fmap decode $ res ^? W.responseBody
     case r of Nothing  -> return $ IncomingResponse (-1) Nothing
               (Just a) -> return a
   infoLn $ "Response: " <> encodeToText res
   return res
sendRequest :: (MonadIO m) => BearyChat -> IncomingRequest -> AppM m IncomingResponse
sendRequest bc req = do
   infoLn $ "Request: " <> encodeToText req
   res <- liftIO $ do
     res <- W.post ("https://hook.bearychat.com/" <> cs (incomingKey bc)) (toJSON req)
     let r = join $ fmap decode $ res ^? W.responseBody
     case r of Nothing  -> return $ IncomingResponse (-1) Nothing
               (Just a) -> return a
   infoLn $ "Response: " <> encodeToText res
   return res
sendRequest bc req = do
   infoLn $ "Request: " <> encodeToText req
   res <- liftIO $ do
     res <- W.post ("https://hook.bearychat.com/" <> cs (incomingKey bc)) (toJSON req)
     let r = join $ fmap decode $ res ^? W.responseBody
     case r of Nothing  -> return $ IncomingResponse (-1) Nothing
               (Just a) -> return a
   infoLn $ "Response: " <> encodeToText res
   return res