@@ -134,3 +134,23 @@ xmlHttpRequestSetResponseType xhr t = do
134134 _ <- jsevaluatescript c script o nullPtr 1 nullPtr
135135 return ()
136136
137+xmlHttpRequestGetStatus :: XMLHttpRequest -> IO Word
138+xmlHttpRequestGetStatus xhr = do
139+ let c = xhrContext xhr
140+ script <- jsstringcreatewithutf8cstring "this.status"
141+ s <- jsevaluatescript c script (xhrValue xhr) nullPtr 1 nullPtr
142+ d <- jsvaluetonumber c s nullPtr
143+ return $ truncate d
144+
145+xmlHttpRequestGetStatusText :: XMLHttpRequest -> IO String
146+xmlHttpRequestGetStatusText xhr = do
147+ let c = xhrContext xhr
148+ script <- jsstringgetmaximumutf8cstringsize "this.statusText"
149+ t <- jsevaluatescript c script (xhrValue xhr) nullPtr 1 nullPtr
150+ j <- jsvaluetostringcopy c t nullPtr
151+ l <- jsstringgetmaximumutf8cstringsize j
152+ s <- allocaBytes (fromIntegral l) $ \ps -> do
153+ _ <- jsstringgetutf8cstring'_ j ps (fromIntegral l)
154+ peekCString ps
155+ return $ Just s
156+