git.iko.soy/rowtype-yoga/psfp
on master help sign in
server/src/Main.purs+4−3
since splitsnapshots
unifiedsplit
@@ -61,7 +61,7 @@ import Unsafe.Coerce (unsafeCoerce)
61import Foreign.Object (lookup) as Object
61import Foreign.Object (lookup) as Object
62import Control.Alt ((<|>))
62import Control.Alt ((<|>))
63import Data.Array (elem) as Array
63import Data.Array (elem) as Array
64−import HTTPurple.Response (notFound, unauthorized)
64+import HTTPurple.Response (notFound, unauthorized, unprocessableEntity')
65import Control.Monad.Error.Class (throwError)
65import Control.Monad.Error.Class (throwError)
66import Data.Monoid (guard)
66import Data.Monoid (guard)
67import HTTPurple.Headers (RequestHeaders)
67import HTTPurple.Headers (RequestHeaders)
@@ -69,7 +69,7 @@ import Data.Map (lookup) as Mapl
69import Data.String.CaseInsensitive (CaseInsensitiveString(CaseInsensitiveString))
69import Data.String.CaseInsensitive (CaseInsensitiveString(CaseInsensitiveString))
70import Data.Map (lookup) as Map
70import Data.Map (lookup) as Map
71import HTTPurple.Validation (fromValidated, fromValidatedE)
71import HTTPurple.Validation (fromValidated, fromValidatedE)
72−import HTTPurple.Status (forbidden, unauthorized) as Status
72+import HTTPurple.Status (forbidden, unauthorized, unprocessableEntity) as Status
73
73
74toBody ∷ ∀ r m. MonadEffect m => { stdout ∷ Buffer, stderr ∷ Buffer | r } -> m RunResult
74toBody ∷ ∀ r m. MonadEffect m => { stdout ∷ Buffer, stderr ∷ Buffer | r } -> m RunResult
75toBody result =
75toBody result =
@@ -205,7 +205,8 @@ compileAndRunJobCont queue { code } = do
205 internalServerError' jsonHeaders $ toJson YogaJson.jsonEncoder { error: show e }
205 internalServerError' jsonHeaders $ toJson YogaJson.jsonEncoder { error: show e }
206 Right (Right res)
206 Right (Right res)
207 | res.resultType == "error" -> do
207 | res.resultType == "error" -> do
208+ let body = toJson YogaJson.jsonEncoder { result: res.result }
208− unprocessableEntity
209+ response' Status.unprocessableEntity empty body
209 Right (Right res) -> do
210 Right (Right res) -> do
210 runResult <- runCode timeout folder # lift
211 runResult <- runCode timeout folder # lift
211 case runResult of
212 case runResult of