|
1 | 1 | module Network.HTTP.Affjax |
2 | | - ( AJAX() |
3 | | - , Affjax() |
4 | | - , AffjaxRequest(), defaultRequest |
5 | | - , AffjaxResponse() |
6 | | - , URL() |
| 2 | + ( AJAX |
| 3 | + , Affjax |
| 4 | + , AffjaxRequest, defaultRequest |
| 5 | + , AffjaxResponse |
| 6 | + , URL |
7 | 7 | , affjax |
8 | 8 | , affjax' |
9 | 9 | , get |
10 | 10 | , post, post_, post', post_' |
11 | 11 | , put, put_, put', put_' |
12 | 12 | , delete, delete_ |
13 | 13 | , patch, patch_, patch', patch_' |
14 | | - , RetryDelayCurve() |
| 14 | + , RetryDelayCurve |
15 | 15 | , RetryPolicy(..) |
16 | 16 | , defaultRetryPolicy |
17 | 17 | , retry |
18 | 18 | ) where |
19 | 19 |
|
20 | 20 | import Prelude hiding (max) |
21 | 21 |
|
22 | | -import Control.Bind ((<=<)) |
23 | | -import Control.Monad.Aff (Aff(), makeAff, makeAff', Canceler(..), attempt, later', forkAff, cancel) |
24 | | -import Control.Monad.Aff.AVar (AVAR(), makeVar, takeVar, putVar) |
25 | | -import Control.Monad.Eff (Eff()) |
| 22 | +import Control.Monad.Aff (Aff, makeAff, makeAff', Canceler(..), attempt, later', forkAff, cancel) |
| 23 | +import Control.Monad.Aff.AVar (AVAR, makeVar, takeVar, putVar) |
| 24 | +import Control.Monad.Eff (Eff) |
26 | 25 | import Control.Monad.Eff.Class (liftEff) |
27 | | -import Control.Monad.Eff.Exception (Error(), error) |
28 | | -import Control.Monad.Eff.Ref (REF(), newRef, readRef, writeRef) |
29 | | -import Control.Monad.Error.Class (throwError) |
| 26 | +import Control.Monad.Eff.Exception (Error, error) |
| 27 | +import Control.Monad.Eff.Ref (REF, newRef, readRef, writeRef) |
| 28 | +import Control.Monad.Except (runExcept, throwError) |
30 | 29 |
|
31 | 30 | import Data.Array as Arr |
32 | 31 | import Data.Either (Either(..), either) |
33 | 32 | import Data.Foldable (any) |
34 | | -import Data.Foreign (Foreign(), F(), parseJSON, readString) |
| 33 | +import Data.Foreign (Foreign, F, parseJSON, readString) |
35 | 34 | import Data.Function (on) |
36 | | -import Data.Function.Uncurried (Fn5(), runFn5, Fn4(), runFn4) |
37 | | -import Data.HTTP.Method (Method(..), CustomMethod()) |
| 35 | +import Data.Function.Uncurried (Fn5, runFn5, Fn4, runFn4) |
| 36 | +import Data.HTTP.Method (Method(..), CustomMethod) |
38 | 37 | import Data.HTTP.Method as Method |
39 | 38 | import Data.Int (toNumber, round) |
40 | 39 | import Data.Maybe (Maybe(..)) |
41 | | -import Data.MediaType (MediaType()) |
42 | | -import Data.Nullable (Nullable(), toNullable) |
| 40 | +import Data.MediaType (MediaType) |
| 41 | +import Data.Nullable (Nullable, toNullable) |
43 | 42 | import Data.Tuple (Tuple(..), fst, snd) |
44 | 43 |
|
45 | 44 | import Math (max, pow) |
46 | 45 |
|
47 | | -import DOM.XHR.Types (XMLHttpRequest()) |
| 46 | +import DOM.XHR.Types (XMLHttpRequest) |
48 | 47 |
|
49 | 48 | import Network.HTTP.Affjax.Request (class Requestable, RequestContent, toRequest) |
50 | 49 | import Network.HTTP.Affjax.Response (class Respondable, ResponseContent, ResponseType(..), fromResponse, responseType, responseTypeToString) |
51 | 50 | import Network.HTTP.RequestHeader (RequestHeader(..), requestHeaderName, requestHeaderValue) |
52 | | -import Network.HTTP.ResponseHeader (ResponseHeader(), responseHeader) |
| 51 | +import Network.HTTP.ResponseHeader (ResponseHeader, responseHeader) |
53 | 52 | import Network.HTTP.StatusCode (StatusCode(..)) |
54 | 53 |
|
55 | 54 | -- | The effect type for AJAX requests made with Affjax. |
@@ -274,7 +273,7 @@ affjax' req eb cb = |
274 | 273 | _ -> hs |
275 | 274 |
|
276 | 275 | cb' :: AffjaxResponse ResponseContent -> Eff (ajax :: AJAX | e) Unit |
277 | | - cb' res = case res { response = _ } <$> fromResponse' res.response of |
| 276 | + cb' res = case res { response = _ } <$> runExcept (fromResponse' res.response) of |
278 | 277 | Left err -> eb $ error (show err) |
279 | 278 | Right res' -> cb res' |
280 | 279 |
|
|
0 commit comments