ghcjs-dom-javascript-0.10.0.0: src/GHCJS/DOM/JSFFI/Generated/XMLHttpRequest.hs
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- | Generated by dom-gen from xhr (webref). Do not edit.
module GHCJS.DOM.JSFFI.Generated.XMLHttpRequest
(js_newXMLHttpRequest, js_abort, js_getAllResponseHeaders, js_getResponseHeader, js_openSimple, js_open, js_overrideMimeType, js_send, js_setRequestHeader, js_getReadyState, js_setTimeout, js_getTimeout, js_setWithCredentials, js_getWithCredentials, js_getUpload, js_getResponseURL, js_getStatus, js_getStatusText, js_setResponseType, js_getResponseType, js_getResponse, js_getResponseText, js_getResponseXML, newXMLHttpRequest, abort, getAllResponseHeaders, getAllResponseHeaders_, getResponseHeader, getResponseHeader_, getResponseHeaderUnsafe, getResponseHeaderUnchecked, openSimple, open, overrideMimeType, send, setRequestHeader, getReadyState, setTimeout, getTimeout, setWithCredentials, getWithCredentials, getUpload, getResponseURL, getStatus, getStatusText, setResponseType, getResponseType, getResponse, getResponseText, getResponseXML, getResponseXMLUnsafe, getResponseXMLUnchecked, pattern UNSENT, pattern OPENED, pattern HEADERS_RECEIVED, pattern LOADING, pattern DONE, readyStateChange, XMLHttpRequest(..), gTypeXMLHttpRequest)
where
import Prelude ((.), (==), (>>=), (<$>), (++), Bool(..), Maybe(..), IO, Int, Word, Double, Float)
import qualified Prelude as P
import Control.Monad (void)
import GHCJS.Types (JSVal, JSString)
import GHCJS.Foreign (jsUndefined, jsNull)
import GHCJS.DOM.Types
import qualified GHCJS.DOM.Types as Types
import GHCJS.DOM.EventTargetClosures (EventName, unsafeEventName, unsafeEventNameAsync)
import GHCJS.DOM.JSFFI.Generated.Enums
foreign import javascript safe "(() => { return new globalThis[\"XMLHttpRequest\"](); })"
js_newXMLHttpRequest :: IO XMLHttpRequest
-- | <https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/XMLHttpRequest MDN XMLHttpRequest. documentation>
newXMLHttpRequest :: (MonadDOM m) => m XMLHttpRequest
newXMLHttpRequest = liftDOM ((js_newXMLHttpRequest))
foreign import javascript safe "(($1) => { return $1[\"abort\"](); })"
js_abort :: XMLHttpRequest -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/abort MDN XMLHttpRequest.abort documentation>
abort :: (MonadDOM m) => XMLHttpRequest -> m ()
abort self = liftDOM (void ((js_abort (self))))
foreign import javascript safe "(($1) => { return $1[\"getAllResponseHeaders\"](); })"
js_getAllResponseHeaders :: XMLHttpRequest -> IO JSString
-- | <https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/getAllResponseHeaders MDN XMLHttpRequest.getAllResponseHeaders documentation>
getAllResponseHeaders :: (MonadDOM m, FromJSString result) => XMLHttpRequest -> m result
getAllResponseHeaders self = liftDOM ((fromJSString <$> (js_getAllResponseHeaders (self))))
-- | <https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/getAllResponseHeaders MDN XMLHttpRequest.getAllResponseHeaders documentation>
getAllResponseHeaders_ :: (MonadDOM m) => XMLHttpRequest -> m ()
getAllResponseHeaders_ self = liftDOM (void ((js_getAllResponseHeaders (self))))
foreign import javascript safe "(($1, $2) => { return $1[\"getResponseHeader\"]($2); })"
js_getResponseHeader :: XMLHttpRequest -> JSString -> IO JSVal
-- | <https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/getResponseHeader MDN XMLHttpRequest.getResponseHeader documentation>
getResponseHeader :: (MonadDOM m, ToJSString name, FromJSString result) => XMLHttpRequest -> name -> m (Maybe result)
getResponseHeader self name = liftDOM (((fromMaybeJSString . Nullable) <$> (js_getResponseHeader (self) (toJSString name))))
-- | <https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/getResponseHeader MDN XMLHttpRequest.getResponseHeader documentation>
getResponseHeader_ :: (MonadDOM m, ToJSString name) => XMLHttpRequest -> name -> m ()
getResponseHeader_ self name = liftDOM (void ((js_getResponseHeader (self) (toJSString name))))
-- | <https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/getResponseHeader MDN XMLHttpRequest.getResponseHeader documentation>
getResponseHeaderUnsafe :: (MonadDOM m, ToJSString name, HasCallStack, FromJSString result) => XMLHttpRequest -> name -> m result
getResponseHeaderUnsafe self name = liftDOM ((((fromMaybeJSString . Nullable) <$> (js_getResponseHeader (self) (toJSString name))) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/getResponseHeader MDN XMLHttpRequest.getResponseHeader documentation>
getResponseHeaderUnchecked :: (MonadDOM m, ToJSString name, FromJSString result) => XMLHttpRequest -> name -> m result
getResponseHeaderUnchecked self name = liftDOM ((pFromJSVal <$> (js_getResponseHeader (self) (toJSString name))))
foreign import javascript safe "(($1, $2, $3) => { return $1[\"open\"]($2, $3); })"
js_openSimple :: XMLHttpRequest -> JSString -> JSString -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/open MDN XMLHttpRequest.open documentation>
openSimple :: (MonadDOM m, ToJSString method, ToJSString url) => XMLHttpRequest -> method -> url -> m ()
openSimple self method url = liftDOM (void ((js_openSimple (self) (toJSString method) (toJSString url))))
foreign import javascript safe "(($1, $2, $3, $4, $5, $6) => { return $1[\"open\"]($2, $3, $4, $5, $6); })"
js_open :: XMLHttpRequest -> JSString -> JSString -> Bool -> (Nullable JSString) -> (Nullable JSString) -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/open MDN XMLHttpRequest.open documentation>
open :: (MonadDOM m, ToJSString method, ToJSString url, ToJSString username, ToJSString password) => XMLHttpRequest -> method -> url -> Bool -> Maybe username -> Maybe password -> m ()
open self method url async username password = liftDOM (void ((js_open (self) (toJSString method) (toJSString url) (async) (toMaybeJSString username) (toMaybeJSString password))))
foreign import javascript safe "(($1, $2) => { return $1[\"overrideMimeType\"]($2); })"
js_overrideMimeType :: XMLHttpRequest -> JSString -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/overrideMimeType MDN XMLHttpRequest.overrideMimeType documentation>
overrideMimeType :: (MonadDOM m, ToJSString mime) => XMLHttpRequest -> mime -> m ()
overrideMimeType self mime = liftDOM (void ((js_overrideMimeType (self) (toJSString mime))))
foreign import javascript safe "(($1, $2) => { return $1[\"send\"]($2); })"
js_send :: XMLHttpRequest -> JSVal -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/send MDN XMLHttpRequest.send documentation>
send :: (MonadDOM m, IsDocumentOrXMLHttpRequestBodyInit body) => XMLHttpRequest -> Maybe body -> m ()
send self body = liftDOM (void (((toJSVal body) >>= \a2' -> js_send (self) a2')))
foreign import javascript safe "(($1, $2, $3) => { return $1[\"setRequestHeader\"]($2, $3); })"
js_setRequestHeader :: XMLHttpRequest -> JSString -> JSString -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/setRequestHeader MDN XMLHttpRequest.setRequestHeader documentation>
setRequestHeader :: (MonadDOM m, ToJSString name, ToJSString value) => XMLHttpRequest -> name -> value -> m ()
setRequestHeader self name value = liftDOM (void ((js_setRequestHeader (self) (toJSString name) (toJSString value))))
foreign import javascript unsafe "(($1) => { return $1[\"readyState\"]; })"
js_getReadyState :: XMLHttpRequest -> IO Word
-- | <https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/readyState MDN XMLHttpRequest.readyState documentation>
getReadyState :: (MonadDOM m) => XMLHttpRequest -> m Word
getReadyState self = liftDOM ((js_getReadyState (self)))
foreign import javascript safe "(($1, $2) => { $1[\"timeout\"] = $2; })"
js_setTimeout :: XMLHttpRequest -> Word -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/timeout MDN XMLHttpRequest.timeout documentation>
setTimeout :: (MonadDOM m) => XMLHttpRequest -> Word -> m ()
setTimeout self val = liftDOM (void ((js_setTimeout (self) (val))))
foreign import javascript unsafe "(($1) => { return $1[\"timeout\"]; })"
js_getTimeout :: XMLHttpRequest -> IO Word
-- | <https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/timeout MDN XMLHttpRequest.timeout documentation>
getTimeout :: (MonadDOM m) => XMLHttpRequest -> m Word
getTimeout self = liftDOM ((js_getTimeout (self)))
foreign import javascript safe "(($1, $2) => { $1[\"withCredentials\"] = $2; })"
js_setWithCredentials :: XMLHttpRequest -> Bool -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/withCredentials MDN XMLHttpRequest.withCredentials documentation>
setWithCredentials :: (MonadDOM m) => XMLHttpRequest -> Bool -> m ()
setWithCredentials self val = liftDOM (void ((js_setWithCredentials (self) (val))))
foreign import javascript unsafe "(($1) => { return $1[\"withCredentials\"]; })"
js_getWithCredentials :: XMLHttpRequest -> IO Bool
-- | <https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/withCredentials MDN XMLHttpRequest.withCredentials documentation>
getWithCredentials :: (MonadDOM m) => XMLHttpRequest -> m Bool
getWithCredentials self = liftDOM ((js_getWithCredentials (self)))
foreign import javascript unsafe "(($1) => { return $1[\"upload\"]; })"
js_getUpload :: XMLHttpRequest -> IO XMLHttpRequestUpload
-- | <https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/upload MDN XMLHttpRequest.upload documentation>
getUpload :: (MonadDOM m) => XMLHttpRequest -> m XMLHttpRequestUpload
getUpload self = liftDOM ((js_getUpload (self)))
foreign import javascript unsafe "(($1) => { return $1[\"responseURL\"]; })"
js_getResponseURL :: XMLHttpRequest -> IO JSString
-- | <https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/responseURL MDN XMLHttpRequest.responseURL documentation>
getResponseURL :: (MonadDOM m, FromJSString result) => XMLHttpRequest -> m result
getResponseURL self = liftDOM ((fromJSString <$> (js_getResponseURL (self))))
foreign import javascript unsafe "(($1) => { return $1[\"status\"]; })"
js_getStatus :: XMLHttpRequest -> IO Word
-- | <https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/status MDN XMLHttpRequest.status documentation>
getStatus :: (MonadDOM m) => XMLHttpRequest -> m Word
getStatus self = liftDOM ((js_getStatus (self)))
foreign import javascript unsafe "(($1) => { return $1[\"statusText\"]; })"
js_getStatusText :: XMLHttpRequest -> IO JSString
-- | <https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/statusText MDN XMLHttpRequest.statusText documentation>
getStatusText :: (MonadDOM m, FromJSString result) => XMLHttpRequest -> m result
getStatusText self = liftDOM ((fromJSString <$> (js_getStatusText (self))))
foreign import javascript safe "(($1, $2) => { $1[\"responseType\"] = $2; })"
js_setResponseType :: XMLHttpRequest -> JSVal -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/responseType MDN XMLHttpRequest.responseType documentation>
setResponseType :: (MonadDOM m) => XMLHttpRequest -> XMLHttpRequestResponseType -> m ()
setResponseType self val = liftDOM (void (((toJSVal val) >>= \a2' -> js_setResponseType (self) a2')))
foreign import javascript unsafe "(($1) => { return $1[\"responseType\"]; })"
js_getResponseType :: XMLHttpRequest -> IO JSVal
-- | <https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/responseType MDN XMLHttpRequest.responseType documentation>
getResponseType :: (MonadDOM m) => XMLHttpRequest -> m XMLHttpRequestResponseType
getResponseType self = liftDOM (((js_getResponseType (self)) >>= fromJSValUnchecked))
foreign import javascript unsafe "(($1) => { return $1[\"response\"]; })"
js_getResponse :: XMLHttpRequest -> IO JSVal
-- | <https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/response MDN XMLHttpRequest.response documentation>
getResponse :: (MonadDOM m) => XMLHttpRequest -> m JSVal
getResponse self = liftDOM ((js_getResponse (self)))
foreign import javascript unsafe "(($1) => { return $1[\"responseText\"]; })"
js_getResponseText :: XMLHttpRequest -> IO JSString
-- | <https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/responseText MDN XMLHttpRequest.responseText documentation>
getResponseText :: (MonadDOM m, FromJSString result) => XMLHttpRequest -> m result
getResponseText self = liftDOM ((fromJSString <$> (js_getResponseText (self))))
foreign import javascript unsafe "(($1) => { return $1[\"responseXML\"]; })"
js_getResponseXML :: XMLHttpRequest -> IO JSVal
-- | <https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/responseXML MDN XMLHttpRequest.responseXML documentation>
getResponseXML :: (MonadDOM m) => XMLHttpRequest -> m (Maybe Document)
getResponseXML self = liftDOM (((js_getResponseXML (self)) >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/responseXML MDN XMLHttpRequest.responseXML documentation>
getResponseXMLUnsafe :: (MonadDOM m, HasCallStack) => XMLHttpRequest -> m Document
getResponseXMLUnsafe self = liftDOM ((((js_getResponseXML (self)) >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/responseXML MDN XMLHttpRequest.responseXML documentation>
getResponseXMLUnchecked :: (MonadDOM m) => XMLHttpRequest -> m Document
getResponseXMLUnchecked self = liftDOM ((pFromJSVal <$> (js_getResponseXML (self))))
pattern UNSENT = 0
pattern OPENED = 1
pattern HEADERS_RECEIVED = 2
pattern LOADING = 3
pattern DONE = 4
-- | <https://xhr.spec.whatwg.org/#handler-xhr-onreadystatechange readystatechange event>
readyStateChange :: EventName XMLHttpRequest Event
readyStateChange = unsafeEventNameAsync (toJSString "readystatechange")