@@ -33,7 +33,7 @@ import Control.Monad.Eff.Ref.Unsafe (unsafeRunRef)
33
33
import Control.Monad.Eff.Unsafe (unsafeCoerceEff )
34
34
import Control.Monad.Except (runExcept )
35
35
import Data.Bifunctor (bimap )
36
- import Data.Either (Either (..))
36
+ import Data.Either (Either (..), either )
37
37
import Data.Foreign (renderForeignError )
38
38
import Data.Foreign.Class (class Decode , class Encode )
39
39
import Data.Foreign.Generic (decodeJSON , encodeJSON )
@@ -42,15 +42,15 @@ import Data.Maybe (Maybe(Nothing, Just), maybe)
42
42
import Data.Monoid (mempty )
43
43
import Data.Newtype (class Newtype , unwrap , wrap )
44
44
import Data.Nullable (toMaybe )
45
+ import Data.Record (get )
45
46
import Data.String (split )
46
47
import Data.Symbol (class IsSymbol , SProxy (..), reflectSymbol )
47
48
import Node.Encoding (Encoding (..))
48
49
import Node.HTTP (HTTP , ListenOptions , Request , Response , createServer , listen , requestAsStream , requestMethod , requestURL , responseAsStream , setHeader , setStatusCode , setStatusMessage )
49
50
import Node.Stream (end , onDataString , onEnd , onError , writeString )
50
51
import Node.URL (parse )
51
- import QuickServe.Internal (LProxy (..), get , rowToList )
52
52
import Type.Proxy (Proxy (..))
53
- import Type.Row (class RowToList , Cons , Nil , kind RowList )
53
+ import Type.Row (class RowToList , Cons , Nil , RLProxy (..), kind RowList )
54
54
import Unsafe.Coerce (unsafeCoerce )
55
55
56
56
-- | A type class for types of values which define
@@ -179,7 +179,7 @@ instance servableMethod
179
179
let actual = requestMethod req
180
180
expected = reflectSymbol (SProxy :: SProxy method )
181
181
if actual == expected
182
- then void $ runAff handleError handleResponse (unwrap respond)
182
+ then void $ runAff (either handleError handleResponse) (unwrap respond)
183
183
else sendError res 405 " Method not allowed" (" Expected " <> expected)
184
184
serveWith _ _ _ _ = Nothing
185
185
@@ -265,11 +265,11 @@ badRoute :: forall eff. Response -> Eff (http :: HTTP | eff) Unit
265
265
badRoute res = sendError res 400 " Bad Request" " No such route"
266
266
267
267
instance servableRecord :: (RowToList r l , ServableList eff l r ) => Servable eff (Record r ) where
268
- serveWith r = serveListWith (rowToList r ) r
268
+ serveWith r = serveListWith (RLProxy :: RLProxy l ) r
269
269
270
270
class ServableList eff (l :: RowList ) (r :: # Type ) | l -> r where
271
271
serveListWith
272
- :: LProxy l
272
+ :: RLProxy l
273
273
-> Record r
274
274
-> Request
275
275
-> Response
@@ -285,4 +285,4 @@ instance servableListCons
285
285
serveListWith _ rec req res (actual : xs)
286
286
| actual == reflectSymbol (SProxy :: SProxy route )
287
287
= serveWith (get (SProxy :: SProxy route ) rec :: s ) req res xs
288
- serveListWith _ rec req res xs = serveListWith (LProxy :: LProxy l ) (unsafeCoerce rec) req res xs
288
+ serveListWith _ rec req res xs = serveListWith (RLProxy :: RLProxy l ) (unsafeCoerce rec) req res xs
0 commit comments