#!/usr/bin/env python # -*- coding: utf-8 -*- import falcon from engine import evaluate_solution import logging class RootResource: def on_get(self, request, response): response.text = 'HumanEval for Solidity Server' def on_post(self, request, response): payload = request.media if 'task_id' not in payload or 'solution' not in payload: response.status = falcon.HTTP_400 response.media = { 'error': 'task_id or solution are missing', } return task_id = payload['task_id'] solution = payload['solution'] try: passed, output = evaluate_solution(task_id, solution) response.media = { 'passed': passed, 'output': output, } except FileNotFoundError: response.status = falcon.HTTP_404 response.media = {'error': 'Task not found'} except Exception: response.status = falcon.HTTP_500 response.media = {'error': 'Internal server error'}