module JSDOM.Generated.XMLHttpRequest
(newXMLHttpRequest, open, setRequestHeader, send, abort,
getAllResponseHeaders, getAllResponseHeaders_,
getAllResponseHeadersUnsafe, getAllResponseHeadersUnchecked,
getResponseHeader, getResponseHeader_, getResponseHeaderUnsafe,
getResponseHeaderUnchecked, overrideMimeType, pattern UNSENT,
pattern OPENED, pattern HEADERS_RECEIVED, pattern LOADING,
pattern DONE, abortEvent, error, load, loadEnd, loadStart,
progress, timeout, readyStateChange, setTimeout, getTimeout,
getReadyState, setWithCredentials, getWithCredentials, getUpload,
getUploadUnsafe, getUploadUnchecked, getResponseText,
getResponseTextUnsafe, getResponseTextUnchecked, getResponseXML,
getResponseXMLUnsafe, getResponseXMLUnchecked, setResponseType,
getResponseType, getResponse, getResponseUnsafe,
getResponseUnchecked, getStatus, getStatusText, getResponseURL,
XMLHttpRequest(..), gTypeXMLHttpRequest)
where
import Prelude ((.), (==), (>>=), return, IO, Int, Float, Double, Bool(..), Maybe, maybe, fromIntegral, round, realToFrac, fmap, Show, Read, Eq, Ord, Maybe(..))
import qualified Prelude (error)
import Data.Typeable (Typeable)
import Language.Javascript.JSaddle (JSM(..), JSVal(..), JSString, strictEqual, toJSVal, valToStr, valToNumber, valToBool, js, jss, jsf, jsg, function, new, array)
import Data.Int (Int64)
import Data.Word (Word, Word64)
import JSDOM.Types
import Control.Applicative ((<$>))
import Control.Monad (void)
import Control.Lens.Operators ((^.))
import JSDOM.EventTargetClosures (EventName, unsafeEventName)
import JSDOM.Enums
newXMLHttpRequest :: (MonadDOM m) => m XMLHttpRequest
newXMLHttpRequest
= liftDOM (XMLHttpRequest <$> new (jsg "XMLHttpRequest") ())
open ::
(MonadDOM m, ToJSString method, ToJSString url, ToJSString user,
ToJSString password) =>
XMLHttpRequest -> method -> url -> Bool -> user -> password -> m ()
open self method url async user password
= liftDOM
(void
(self ^. jsf "open"
[toJSVal method, toJSVal url, toJSVal async, toJSVal user,
toJSVal password]))
setRequestHeader ::
(MonadDOM m, ToJSString header, ToJSString value) =>
XMLHttpRequest -> header -> value -> m ()
setRequestHeader self header value
= liftDOM
(void
(self ^. jsf "setRequestHeader" [toJSVal header, toJSVal value]))
send :: (MonadDOM m) => XMLHttpRequest -> m ()
send self = liftDOM (void (self ^. jsf "send" ()))
abort :: (MonadDOM m) => XMLHttpRequest -> m ()
abort self = liftDOM (void (self ^. jsf "abort" ()))
getAllResponseHeaders ::
(MonadDOM m, FromJSString result) =>
XMLHttpRequest -> m (Maybe result)
getAllResponseHeaders self
= liftDOM
((self ^. jsf "getAllResponseHeaders" ()) >>= fromMaybeJSString)
getAllResponseHeaders_ :: (MonadDOM m) => XMLHttpRequest -> m ()
getAllResponseHeaders_ self
= liftDOM (void (self ^. jsf "getAllResponseHeaders" ()))
getAllResponseHeadersUnsafe ::
(MonadDOM m, HasCallStack, FromJSString result) =>
XMLHttpRequest -> m result
getAllResponseHeadersUnsafe self
= liftDOM
(((self ^. jsf "getAllResponseHeaders" ()) >>= fromMaybeJSString)
>>= maybe (Prelude.error "Nothing to return") return)
getAllResponseHeadersUnchecked ::
(MonadDOM m, FromJSString result) => XMLHttpRequest -> m result
getAllResponseHeadersUnchecked self
= liftDOM
((self ^. jsf "getAllResponseHeaders" ()) >>= fromJSValUnchecked)
getResponseHeader ::
(MonadDOM m, ToJSString header, FromJSString result) =>
XMLHttpRequest -> header -> m (Maybe result)
getResponseHeader self header
= liftDOM
((self ^. jsf "getResponseHeader" [toJSVal header]) >>=
fromMaybeJSString)
getResponseHeader_ ::
(MonadDOM m, ToJSString header) => XMLHttpRequest -> header -> m ()
getResponseHeader_ self header
= liftDOM (void (self ^. jsf "getResponseHeader" [toJSVal header]))
getResponseHeaderUnsafe ::
(MonadDOM m, ToJSString header, HasCallStack,
FromJSString result) =>
XMLHttpRequest -> header -> m result
getResponseHeaderUnsafe self header
= liftDOM
(((self ^. jsf "getResponseHeader" [toJSVal header]) >>=
fromMaybeJSString)
>>= maybe (Prelude.error "Nothing to return") return)
getResponseHeaderUnchecked ::
(MonadDOM m, ToJSString header, FromJSString result) =>
XMLHttpRequest -> header -> m result
getResponseHeaderUnchecked self header
= liftDOM
((self ^. jsf "getResponseHeader" [toJSVal header]) >>=
fromJSValUnchecked)
overrideMimeType ::
(MonadDOM m, ToJSString override) =>
XMLHttpRequest -> override -> m ()
overrideMimeType self override
= liftDOM
(void (self ^. jsf "overrideMimeType" [toJSVal 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")
setTimeout :: (MonadDOM m) => XMLHttpRequest -> Word -> m ()
setTimeout self val = liftDOM (self ^. jss "timeout" (toJSVal val))
getTimeout :: (MonadDOM m) => XMLHttpRequest -> m Word
getTimeout self
= liftDOM (round <$> ((self ^. js "timeout") >>= valToNumber))
getReadyState :: (MonadDOM m) => XMLHttpRequest -> m Word
getReadyState self
= liftDOM (round <$> ((self ^. js "readyState") >>= valToNumber))
setWithCredentials ::
(MonadDOM m) => XMLHttpRequest -> Bool -> m ()
setWithCredentials self val
= liftDOM (self ^. jss "withCredentials" (toJSVal val))
getWithCredentials :: (MonadDOM m) => XMLHttpRequest -> m Bool
getWithCredentials self
= liftDOM ((self ^. js "withCredentials") >>= valToBool)
getUpload ::
(MonadDOM m) => XMLHttpRequest -> m (Maybe XMLHttpRequestUpload)
getUpload self = liftDOM ((self ^. js "upload") >>= fromJSVal)
getUploadUnsafe ::
(MonadDOM m, HasCallStack) =>
XMLHttpRequest -> m XMLHttpRequestUpload
getUploadUnsafe self
= liftDOM
(((self ^. js "upload") >>= fromJSVal) >>=
maybe (Prelude.error "Nothing to return") return)
getUploadUnchecked ::
(MonadDOM m) => XMLHttpRequest -> m XMLHttpRequestUpload
getUploadUnchecked self
= liftDOM ((self ^. js "upload") >>= fromJSValUnchecked)
getResponseText ::
(MonadDOM m, FromJSString result) =>
XMLHttpRequest -> m (Maybe result)
getResponseText self
= liftDOM ((self ^. js "responseText") >>= fromMaybeJSString)
getResponseTextUnsafe ::
(MonadDOM m, HasCallStack, FromJSString result) =>
XMLHttpRequest -> m result
getResponseTextUnsafe self
= liftDOM
(((self ^. js "responseText") >>= fromMaybeJSString) >>=
maybe (Prelude.error "Nothing to return") return)
getResponseTextUnchecked ::
(MonadDOM m, FromJSString result) => XMLHttpRequest -> m result
getResponseTextUnchecked self
= liftDOM ((self ^. js "responseText") >>= fromJSValUnchecked)
getResponseXML ::
(MonadDOM m) => XMLHttpRequest -> m (Maybe Document)
getResponseXML self
= liftDOM ((self ^. js "responseXML") >>= fromJSVal)
getResponseXMLUnsafe ::
(MonadDOM m, HasCallStack) => XMLHttpRequest -> m Document
getResponseXMLUnsafe self
= liftDOM
(((self ^. js "responseXML") >>= fromJSVal) >>=
maybe (Prelude.error "Nothing to return") return)
getResponseXMLUnchecked ::
(MonadDOM m) => XMLHttpRequest -> m Document
getResponseXMLUnchecked self
= liftDOM ((self ^. js "responseXML") >>= fromJSValUnchecked)
setResponseType ::
(MonadDOM m) =>
XMLHttpRequest -> XMLHttpRequestResponseType -> m ()
setResponseType self val
= liftDOM (self ^. jss "responseType" (toJSVal val))
getResponseType ::
(MonadDOM m) => XMLHttpRequest -> m XMLHttpRequestResponseType
getResponseType self
= liftDOM ((self ^. js "responseType") >>= fromJSValUnchecked)
getResponse :: (MonadDOM m) => XMLHttpRequest -> m (Maybe GObject)
getResponse self = liftDOM ((self ^. js "response") >>= fromJSVal)
getResponseUnsafe ::
(MonadDOM m, HasCallStack) => XMLHttpRequest -> m GObject
getResponseUnsafe self
= liftDOM
(((self ^. js "response") >>= fromJSVal) >>=
maybe (Prelude.error "Nothing to return") return)
getResponseUnchecked :: (MonadDOM m) => XMLHttpRequest -> m GObject
getResponseUnchecked self
= liftDOM ((self ^. js "response") >>= fromJSValUnchecked)
getStatus :: (MonadDOM m) => XMLHttpRequest -> m Word
getStatus self
= liftDOM (round <$> ((self ^. js "status") >>= valToNumber))
getStatusText ::
(MonadDOM m, FromJSString result) => XMLHttpRequest -> m result
getStatusText self
= liftDOM ((self ^. js "statusText") >>= fromJSValUnchecked)
getResponseURL ::
(MonadDOM m, FromJSString result) => XMLHttpRequest -> m result
getResponseURL self
= liftDOM ((self ^. js "responseURL") >>= fromJSValUnchecked)