static bool IsRethrowOrEmitException(IOperationCoordinator coordinator, ILightNodeOptions options, HttpContext httpContext, Exception ex)
{
var exString = ex.ToString();
coordinator.OnProcessInterrupt(options, httpContext, InterruptReason.ExecuteFailed, exString);
switch (options.ErrorHandlingPolicy)
{
case ErrorHandlingPolicy.ReturnInternalServerError:
httpContext.EmitInternalServerError();
httpContext.EmitStringMessage("500 InternalServerError");
return false;
case ErrorHandlingPolicy.ReturnInternalServerErrorIncludeErrorDetails:
httpContext.EmitInternalServerError();
httpContext.EmitStringMessage(exString);
return false;
case ErrorHandlingPolicy.ThrowException:
default:
httpContext.EmitInternalServerError();
return true;
}
}
}