# Pastebin uhtRxKN4 instance (Monad m, Reflex t) => HasSource t HydrationDomSpace (SourceT t HydrationDomSpace m) where fetchData queryE = pure never instance (Monad m, Reflex t) => HasSource t StaticDomSpace (SourceT t StaticDomSpace m) where fetchData queryE = pure never -- instance (Monad m, Reflex t) => HasSource t js (SourceT t js m) where -- fetchData queryE = pure never instance (Monad m, Reflex t, HasJSContext (Performable m), MonadJSM (Performable m), PerformEvent t m) => HasSource t GhcjsDomSpace (SourceT t GhcjsDomSpace m) where fetchData queryE = do performEvent $ toPerformable <$> queryE where toPerformable args = fetch xhrFetch args xhrFetch queryBS = do endpoint <- ask let req = xhrRequest "POST" endpoint $ def & xhrRequestConfig_sendData .~ BL.toStrict queryBS resultVar <- newEmptyMVar void $ newXMLHttpRequest req $ liftIO . putMVar resultVar resp <- takeMVar resultVar let body = case resp ^. xhrResponse_responseText of Nothing -> error "boom" Just txt -> BL.fromStrict . T.encodeUtf8 $ txt pure body