Skip to content

Commit 42df7b0

Browse files
committed
Revert to GET with query param
1 parent 7496700 commit 42df7b0

File tree

1 file changed

+19
-6
lines changed

1 file changed

+19
-6
lines changed

server/Main.hs

+19-6
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,6 @@ buildMakeActions codegenRef =
120120
outputPrimDocs :: Make.Make ()
121121
outputPrimDocs = pure ()
122122

123-
124123
server :: [P.ExternsFile] -> P.Env -> P.Environment -> Int -> String -> IO ()
125124
server externs initNamesEnv initEnv port pursIDEPortString = do
126125
codegenRef <- IORef.newIORef Nothing
@@ -166,9 +165,24 @@ server externs initNamesEnv initEnv port pursIDEPortString = do
166165
Right (warnings, comp) ->
167166
Scotty.json $ A.object [ "js" .= comp, "warnings" .= warnings ]
168167

169-
post "/complete" $ do
168+
get "/complete" $ do
169+
query <- param "q"
170170
Scotty.setHeader "Access-Control-Allow-Origin" "*"
171171
Scotty.setHeader "Content-Type" "application/json"
172+
let mkCommand q = A.encode $ A.object
173+
[ "command" .= ("complete" :: Text)
174+
, "params" .= A.object
175+
[ "filters" .= A.Array
176+
( V.fromList
177+
[ A.object
178+
[ "filter" .= ("prefix" :: Text)
179+
, "params" .= A.object
180+
[ "search" .= q ]
181+
]
182+
]
183+
)
184+
]
185+
]
172186
(Just handleIn, Just handleOut, _, _) <- liftIO $
173187
Process.createProcess_
174188
"purs-ide-client"
@@ -177,8 +191,7 @@ server externs initNamesEnv initEnv port pursIDEPortString = do
177191
, Process.std_out = Process.CreatePipe
178192
}
179193
liftIO (IO.hSetBuffering handleIn NoBuffering)
180-
command <- BL.Char8.toStrict <$> body
181-
liftIO (BS.Char8.hPutStrLn handleIn command)
194+
liftIO (BL.Char8.hPutStrLn handleIn (mkCommand (query :: Text)))
182195
result <- liftIO (BS.hGetContents handleOut)
183196
Scotty.text (TL.fromStrict (T.decodeUtf8 result))
184197

@@ -265,6 +278,6 @@ main = do
265278
case e of
266279
Left err -> print err >> exitFailure
267280
Right (exts, namesEnv, env) -> do
268-
let ideServer = Process.proc "purs" ("ide":"server":"-p":pursIDEPortString:inputGlobs)
269-
Process.withCreateProcess ideServer $
281+
let pursIDEServer = Process.proc "purs" ("ide":"server":"-p":pursIDEPortString:inputGlobs)
282+
Process.withCreateProcess pursIDEServer $
270283
\_ _ _ _ -> server exts namesEnv env port pursIDEPortString

0 commit comments

Comments
 (0)