@@ -21,6 +21,7 @@ import qualified Data.Aeson as A
2121import Data.Aeson ((.=) )
2222import Data.Bifunctor (first , second )
2323import qualified Data.ByteString.Lazy as BL
24+ import Data.Default (def )
2425import Data.Function (on )
2526import Data.List (foldl' , nubBy )
2627import qualified Data.List.NonEmpty as NE
@@ -41,6 +42,7 @@ import qualified Language.PureScript.CoreFn as CF
4142import qualified Language.PureScript.Errors.JSON as P
4243import qualified Language.PureScript.Interactive as I
4344import qualified Language.PureScript.TypeChecker.TypeSearch as TS
45+ import qualified Network.Wai.Handler.Warp as Warp
4446import System.Environment (getArgs )
4547import System.Exit (exitFailure )
4648import System.FilePath ((</>) )
@@ -89,7 +91,7 @@ server externs initNamesEnv initEnv port = do
8991 Right _ ->
9092 (return . Left . OtherError ) " The name of the main module should be Main."
9193
92- scotty port $ do
94+ scottyOpts (getOpts port) $ do
9395 get " /" $
9496 Scotty. text " POST api.purescript.org/compile"
9597 post " /compile" $ do
@@ -120,6 +122,14 @@ server externs initNamesEnv initEnv port = do
120122 ]
121123 ]
122124
125+ getOpts :: Int -> Scotty. Options
126+ getOpts port = def
127+ { settings =
128+ Warp. setHost " 127.0.0.1"
129+ $ Warp. setPort port
130+ $ Warp. defaultSettings
131+ }
132+
123133lookupAllConstructors :: P. Environment -> P. SourceType -> [P. SourceType ]
124134lookupAllConstructors env = P. everywhereOnTypesM $ \ case
125135 P. TypeConstructor ann (P. Qualified Nothing tyCon) -> P. TypeConstructor ann <$> lookupConstructor env tyCon
0 commit comments