kore

Kore is a web application platform for writing scalable, concurrent web based processes in C or Python.
Commits | Files | Refs | README | LICENSE | git clone https://git.kore.io/kore.git

commit 4ab028633a5a2d512cb662198ed9ce7094a1a384
parent ab956fc97a7e27d94dc844331a52dab78a14f612
Author: Joris Vink <joris@coders.se>
Date:   Wed, 11 Apr 2018 13:00:30 +0200

If a python handler failed, don't fatal on purpose.

Instead log and send an internal error status back to the client.

This should be OK as long as the exception doesn't happen after
the caller called req.response() already.

Diffstat:
src/python.c | 3++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/python.c b/src/python.c @@ -313,7 +313,8 @@ python_runtime_http_request(void *addr, struct http_request *req) if (pyret == NULL) { python_log_error("python_runtime_http_request"); - fatal("failed to execute python call"); + http_response(req, HTTP_STATUS_INTERNAL_ERROR, NULL, 0); + return (KORE_RESULT_OK); } if (PyCoro_CheckExact(pyret)) {