def bot_detection(self, request): castle_event_name = self.get_castle_event_name(request) if castle_event_name == "": print('rejecting request') return {"status": 405, "statusDescription": "Method Not Allowed"} castle_assessment = self.get_castle_assessment(request, castle_event_name) risk_score = castle_assessment.get('risk') prod_status = "200" if risk_score > self.RISK_THRESHOLD or castle_assessment.get( 'action') == "deny": prod_status = "403" if castle_assessment.get('action') == "allow": return KongService().forward_to_kong(request) obj = { "prod_status": prod_status, "risk_score": risk_score, "risk_threshold": self.RISK_THRESHOLD, "castle_assessment": castle_assessment } response = Parser.parser_response(obj) return response