- headers <- getHeaders serverOut
- case read . init <$> lookup "Content-Length" headers of
- Nothing -> error "Couldn't read Content-Length header"
- Just size -> do
- message <- B.hGet serverOut size
- case decode message :: Maybe (LSP.ResponseMessage Value) of
+ msg <- getNextMessage serverOut
+ expectedMsg <- getNextMessage serverRecIn
+ putStrLn $ "received: " ++ (show msg)
+ putStrLn $ "next expected: " ++ (show expectedMsg)
+ case decode msg :: Maybe (LSP.RequestMessage Value Value Value) of
+ Just _ -> putStrLn "ignoring request" >> return ()
+ Nothing -> when (msg /= expectedMsg) $ error ("Expected " ++ show expectedMsg ++ " but got " ++ show msg)
+ case decode msg :: Maybe (LSP.ResponseMessage Value) of