diff --git a/app/Routes.hs b/app/Routes.hs index 32c6d7f..9315b38 100644 --- a/app/Routes.hs +++ b/app/Routes.hs @@ -34,9 +34,13 @@ routes db detailsFile = Twain.send $ Twain.html $ H.renderBS $ actorPage details notes , -- Match outbox Twain.get (Fedi.matchOutbox $ unsafePerformIO $ fetchUserDetails detailsFile) do - details <- liftIO $ fetchUserDetails detailsFile - notes <- map (Fedi.ActivityCreate . noteToCreate) <$> liftIO db.getNotes - Fedi.handleOutbox details notes + request <- Twain.request + if Fedi.checkContentTypeAccept request + then do + details <- liftIO $ fetchUserDetails detailsFile + notes <- map (Fedi.ActivityCreate . noteToCreate) <$> liftIO db.getNotes + Fedi.handleOutbox details notes + else Twain.next , -- Match Create object Twain.get (Fedi.matchCreateNote $ unsafePerformIO $ fetchUserDetails detailsFile) do details <- liftIO $ fetchUserDetails detailsFile @@ -44,8 +48,12 @@ routes db detailsFile = Fedi.handleCreateNote details notes , -- Match inbox - Twain.get (Fedi.matchInbox $ unsafePerformIO $ fetchUserDetails detailsFile) do - Fedi.handleInbox (handleInbox db detailsFile) + Twain.post (Fedi.matchInbox $ unsafePerformIO $ fetchUserDetails detailsFile) do + request <- Twain.request + if Fedi.checkContentTypeAccept request + then do + Fedi.handleInbox (handleInbox db detailsFile) + else Twain.next , -- Match Create object Twain.get (Fedi.matchCreateNote $ unsafePerformIO $ fetchUserDetails detailsFile) do