in src/main/scala/GraphQLServer.scala [46:63]
def handleRequest(req:Request[IO], tier:UserTier) = {
for {
bodyText <- req.bodyText
gqlRequest <- Stream.apply(GraphQLRequestBody.parseJsonRequest(bodyText))
parsedQuery <- parser(gqlRequest.query)
result <- parsedQuery match {
case Success(doc)=>
Stream.apply(performQuery(doc, gqlRequest.variables, tier))
.handleErrorWith(err => {
logger.error("Error performing query", err)
Stream.apply(InternalServerError(err.getMessage))
})
case Failure(err)=>
println(s"Syntax error: ${err.getMessage}")
Stream.apply(BadRequest(err.getMessage))
}
} yield result
}