{-# LANGUAGE PatternSynonyms #-} {-# LANGUAGE ForeignFunctionInterface #-} {-# LANGUAGE JavaScriptFFI #-} -- For HasCallStack compatibility {-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-} module GHCJS.DOM.JSFFI.Generated.XMLHttpRequest (js_newXMLHttpRequest, newXMLHttpRequest, js_open, open, js_setRequestHeader, setRequestHeader, js_send, send, js_abort, abort, js_getAllResponseHeaders, getAllResponseHeaders, getAllResponseHeaders_, getAllResponseHeadersUnsafe, getAllResponseHeadersUnchecked, js_getResponseHeader, getResponseHeader, getResponseHeader_, getResponseHeaderUnsafe, getResponseHeaderUnchecked, js_overrideMimeType, overrideMimeType, pattern UNSENT, pattern OPENED, pattern HEADERS_RECEIVED, pattern LOADING, pattern DONE, abortEvent, error, load, loadEnd, loadStart, progress, timeout, readyStateChange, js_setTimeout, setTimeout, js_getTimeout, getTimeout, js_getReadyState, getReadyState, js_setWithCredentials, setWithCredentials, js_getWithCredentials, getWithCredentials, js_getUpload, getUpload, getUploadUnsafe, getUploadUnchecked, js_getResponseText, getResponseText, getResponseTextUnsafe, getResponseTextUnchecked, js_getResponseXML, getResponseXML, getResponseXMLUnsafe, getResponseXMLUnchecked, js_setResponseType, setResponseType, js_getResponseType, getResponseType, js_getResponse, getResponse, getResponseUnsafe, getResponseUnchecked, js_getStatus, getStatus, js_getStatusText, getStatusText, js_getResponseURL, getResponseURL, XMLHttpRequest(..), gTypeXMLHttpRequest) where import Prelude ((.), (==), (>>=), return, IO, Int, Float, Double, Bool(..), Maybe, maybe, fromIntegral, round, fmap, Show, Read, Eq, Ord) import qualified Prelude (error) import Data.Typeable (Typeable) import GHCJS.Types (JSVal(..), JSString) import GHCJS.Foreign (jsNull) import GHCJS.Foreign.Callback (syncCallback, asyncCallback, syncCallback1, asyncCallback1, syncCallback2, asyncCallback2, OnBlocked(..)) import GHCJS.Marshal (ToJSVal(..), FromJSVal(..)) import GHCJS.Marshal.Pure (PToJSVal(..), PFromJSVal(..)) import Control.Monad (void) import Control.Monad.IO.Class (MonadIO(..)) import Data.Int (Int64) import Data.Word (Word, Word64) import Data.Maybe (fromJust) import GHCJS.DOM.Types import Control.Applicative ((<$>)) import GHCJS.DOM.EventTargetClosures (EventName, unsafeEventName) import GHCJS.DOM.JSFFI.Generated.Enums foreign import javascript unsafe "new window[\"XMLHttpRequest\"]()" js_newXMLHttpRequest :: IO XMLHttpRequest -- | newXMLHttpRequest :: (MonadIO m) => m XMLHttpRequest newXMLHttpRequest = liftIO (js_newXMLHttpRequest) foreign import javascript unsafe "$1[\"open\"]($2, $3, $4, $5, $6)" js_open :: XMLHttpRequest -> JSString -> JSString -> Bool -> JSString -> JSString -> IO () -- | open :: (MonadIO m, ToJSString method, ToJSString url, ToJSString user, ToJSString password) => XMLHttpRequest -> method -> url -> Bool -> user -> password -> m () open self method url async user password = liftIO (js_open (self) (toJSString method) (toJSString url) async (toJSString user) (toJSString password)) foreign import javascript unsafe "$1[\"setRequestHeader\"]($2, $3)" js_setRequestHeader :: XMLHttpRequest -> JSString -> JSString -> IO () -- | setRequestHeader :: (MonadIO m, ToJSString header, ToJSString value) => XMLHttpRequest -> header -> value -> m () setRequestHeader self header value = liftIO (js_setRequestHeader (self) (toJSString header) (toJSString value)) foreign import javascript unsafe "$1[\"send\"]()" js_send :: XMLHttpRequest -> IO () -- | send :: (MonadIO m) => XMLHttpRequest -> m () send self = liftIO (js_send (self)) foreign import javascript unsafe "$1[\"abort\"]()" js_abort :: XMLHttpRequest -> IO () -- | abort :: (MonadIO m) => XMLHttpRequest -> m () abort self = liftIO (js_abort (self)) foreign import javascript unsafe "$1[\"getAllResponseHeaders\"]()" js_getAllResponseHeaders :: XMLHttpRequest -> IO (Nullable JSString) -- | getAllResponseHeaders :: (MonadIO m, FromJSString result) => XMLHttpRequest -> m (Maybe result) getAllResponseHeaders self = liftIO (fromMaybeJSString <$> (js_getAllResponseHeaders (self))) -- | getAllResponseHeaders_ :: (MonadIO m) => XMLHttpRequest -> m () getAllResponseHeaders_ self = liftIO (void (js_getAllResponseHeaders (self))) -- | getAllResponseHeadersUnsafe :: (MonadIO m, HasCallStack, FromJSString result) => XMLHttpRequest -> m result getAllResponseHeadersUnsafe self = liftIO ((fromMaybeJSString <$> (js_getAllResponseHeaders (self))) >>= maybe (Prelude.error "Nothing to return") return) -- | getAllResponseHeadersUnchecked :: (MonadIO m, FromJSString result) => XMLHttpRequest -> m result getAllResponseHeadersUnchecked self = liftIO (fromJust . fromMaybeJSString <$> (js_getAllResponseHeaders (self))) foreign import javascript unsafe "$1[\"getResponseHeader\"]($2)" js_getResponseHeader :: XMLHttpRequest -> JSString -> IO (Nullable JSString) -- | getResponseHeader :: (MonadIO m, ToJSString header, FromJSString result) => XMLHttpRequest -> header -> m (Maybe result) getResponseHeader self header = liftIO (fromMaybeJSString <$> (js_getResponseHeader (self) (toJSString header))) -- | getResponseHeader_ :: (MonadIO m, ToJSString header) => XMLHttpRequest -> header -> m () getResponseHeader_ self header = liftIO (void (js_getResponseHeader (self) (toJSString header))) -- | getResponseHeaderUnsafe :: (MonadIO m, ToJSString header, HasCallStack, FromJSString result) => XMLHttpRequest -> header -> m result getResponseHeaderUnsafe self header = liftIO ((fromMaybeJSString <$> (js_getResponseHeader (self) (toJSString header))) >>= maybe (Prelude.error "Nothing to return") return) -- | getResponseHeaderUnchecked :: (MonadIO m, ToJSString header, FromJSString result) => XMLHttpRequest -> header -> m result getResponseHeaderUnchecked self header = liftIO (fromJust . fromMaybeJSString <$> (js_getResponseHeader (self) (toJSString header))) foreign import javascript unsafe "$1[\"overrideMimeType\"]($2)" js_overrideMimeType :: XMLHttpRequest -> JSString -> IO () -- | overrideMimeType :: (MonadIO m, ToJSString override) => XMLHttpRequest -> override -> m () overrideMimeType self override = liftIO (js_overrideMimeType (self) (toJSString override)) pattern UNSENT = 0 pattern OPENED = 1 pattern HEADERS_RECEIVED = 2 pattern LOADING = 3 pattern DONE = 4 -- | abortEvent :: EventName XMLHttpRequest XMLHttpRequestProgressEvent abortEvent = unsafeEventName (toJSString "abort") -- | error :: EventName XMLHttpRequest XMLHttpRequestProgressEvent error = unsafeEventName (toJSString "error") -- | load :: EventName XMLHttpRequest XMLHttpRequestProgressEvent load = unsafeEventName (toJSString "load") -- | loadEnd :: EventName XMLHttpRequest ProgressEvent loadEnd = unsafeEventName (toJSString "loadend") -- | loadStart :: EventName XMLHttpRequest ProgressEvent loadStart = unsafeEventName (toJSString "loadstart") -- | progress :: EventName XMLHttpRequest XMLHttpRequestProgressEvent progress = unsafeEventName (toJSString "progress") -- | timeout :: EventName XMLHttpRequest ProgressEvent timeout = unsafeEventName (toJSString "timeout") -- | readyStateChange :: EventName XMLHttpRequest Event readyStateChange = unsafeEventName (toJSString "readystatechange") foreign import javascript unsafe "$1[\"timeout\"] = $2;" js_setTimeout :: XMLHttpRequest -> Word -> IO () -- | setTimeout :: (MonadIO m) => XMLHttpRequest -> Word -> m () setTimeout self val = liftIO (js_setTimeout (self) val) foreign import javascript unsafe "$1[\"timeout\"]" js_getTimeout :: XMLHttpRequest -> IO Word -- | getTimeout :: (MonadIO m) => XMLHttpRequest -> m Word getTimeout self = liftIO (js_getTimeout (self)) foreign import javascript unsafe "$1[\"readyState\"]" js_getReadyState :: XMLHttpRequest -> IO Word -- | getReadyState :: (MonadIO m) => XMLHttpRequest -> m Word getReadyState self = liftIO (js_getReadyState (self)) foreign import javascript unsafe "$1[\"withCredentials\"] = $2;" js_setWithCredentials :: XMLHttpRequest -> Bool -> IO () -- | setWithCredentials :: (MonadIO m) => XMLHttpRequest -> Bool -> m () setWithCredentials self val = liftIO (js_setWithCredentials (self) val) foreign import javascript unsafe "($1[\"withCredentials\"] ? 1 : 0)" js_getWithCredentials :: XMLHttpRequest -> IO Bool -- | getWithCredentials :: (MonadIO m) => XMLHttpRequest -> m Bool getWithCredentials self = liftIO (js_getWithCredentials (self)) foreign import javascript unsafe "$1[\"upload\"]" js_getUpload :: XMLHttpRequest -> IO (Nullable XMLHttpRequestUpload) -- | getUpload :: (MonadIO m) => XMLHttpRequest -> m (Maybe XMLHttpRequestUpload) getUpload self = liftIO (nullableToMaybe <$> (js_getUpload (self))) -- | getUploadUnsafe :: (MonadIO m, HasCallStack) => XMLHttpRequest -> m XMLHttpRequestUpload getUploadUnsafe self = liftIO ((nullableToMaybe <$> (js_getUpload (self))) >>= maybe (Prelude.error "Nothing to return") return) -- | getUploadUnchecked :: (MonadIO m) => XMLHttpRequest -> m XMLHttpRequestUpload getUploadUnchecked self = liftIO (fromJust . nullableToMaybe <$> (js_getUpload (self))) foreign import javascript unsafe "$1[\"responseText\"]" js_getResponseText :: XMLHttpRequest -> IO (Nullable JSString) -- | getResponseText :: (MonadIO m, FromJSString result) => XMLHttpRequest -> m (Maybe result) getResponseText self = liftIO (fromMaybeJSString <$> (js_getResponseText (self))) -- | getResponseTextUnsafe :: (MonadIO m, HasCallStack, FromJSString result) => XMLHttpRequest -> m result getResponseTextUnsafe self = liftIO ((fromMaybeJSString <$> (js_getResponseText (self))) >>= maybe (Prelude.error "Nothing to return") return) -- | getResponseTextUnchecked :: (MonadIO m, FromJSString result) => XMLHttpRequest -> m result getResponseTextUnchecked self = liftIO (fromJust . fromMaybeJSString <$> (js_getResponseText (self))) foreign import javascript unsafe "$1[\"responseXML\"]" js_getResponseXML :: XMLHttpRequest -> IO (Nullable Document) -- | getResponseXML :: (MonadIO m) => XMLHttpRequest -> m (Maybe Document) getResponseXML self = liftIO (nullableToMaybe <$> (js_getResponseXML (self))) -- | getResponseXMLUnsafe :: (MonadIO m, HasCallStack) => XMLHttpRequest -> m Document getResponseXMLUnsafe self = liftIO ((nullableToMaybe <$> (js_getResponseXML (self))) >>= maybe (Prelude.error "Nothing to return") return) -- | getResponseXMLUnchecked :: (MonadIO m) => XMLHttpRequest -> m Document getResponseXMLUnchecked self = liftIO (fromJust . nullableToMaybe <$> (js_getResponseXML (self))) foreign import javascript unsafe "$1[\"responseType\"] = $2;" js_setResponseType :: XMLHttpRequest -> JSVal -> IO () -- | setResponseType :: (MonadIO m) => XMLHttpRequest -> XMLHttpRequestResponseType -> m () setResponseType self val = liftIO (js_setResponseType (self) (pToJSVal val)) foreign import javascript unsafe "$1[\"responseType\"]" js_getResponseType :: XMLHttpRequest -> IO JSVal -- | getResponseType :: (MonadIO m) => XMLHttpRequest -> m XMLHttpRequestResponseType getResponseType self = liftIO ((js_getResponseType (self)) >>= fromJSValUnchecked) foreign import javascript unsafe "$1[\"response\"]" js_getResponse :: XMLHttpRequest -> IO (Nullable GObject) -- | getResponse :: (MonadIO m) => XMLHttpRequest -> m (Maybe GObject) getResponse self = liftIO (nullableToMaybe <$> (js_getResponse (self))) -- | getResponseUnsafe :: (MonadIO m, HasCallStack) => XMLHttpRequest -> m GObject getResponseUnsafe self = liftIO ((nullableToMaybe <$> (js_getResponse (self))) >>= maybe (Prelude.error "Nothing to return") return) -- | getResponseUnchecked :: (MonadIO m) => XMLHttpRequest -> m GObject getResponseUnchecked self = liftIO (fromJust . nullableToMaybe <$> (js_getResponse (self))) foreign import javascript unsafe "$1[\"status\"]" js_getStatus :: XMLHttpRequest -> IO Word -- | getStatus :: (MonadIO m) => XMLHttpRequest -> m Word getStatus self = liftIO (js_getStatus (self)) foreign import javascript unsafe "$1[\"statusText\"]" js_getStatusText :: XMLHttpRequest -> IO JSString -- | getStatusText :: (MonadIO m, FromJSString result) => XMLHttpRequest -> m result getStatusText self = liftIO (fromJSString <$> (js_getStatusText (self))) foreign import javascript unsafe "$1[\"responseURL\"]" js_getResponseURL :: XMLHttpRequest -> IO JSString -- | getResponseURL :: (MonadIO m, FromJSString result) => XMLHttpRequest -> m result getResponseURL self = liftIO (fromJSString <$> (js_getResponseURL (self)))