def wsgi_app(self, request):
try:<EOL><INDENT>if request.method != '<STR_LIT:POST>':<EOL><INDENT>abort(<NUM_LIT>)<EOL><DEDENT>try:<EOL><INDENT>data = request.data<EOL>if isinstance(data, str):<EOL><INDENT>body = json.loads(data)<EOL><DEDENT>else:<EOL><INDENT>body = json.loads(data.decode('<STR_LIT:utf-8>'))<EOL><DEDENT><DEDENT>except ValueError:<EOL><INDENT>abort(<NUM_LIT>)<EOL><DEDENT>if self.validate:<EOL><INDENT>valid_cert = util.validate_request_certificate(<EOL>request.headers, request.data)<EOL>valid_ts = util.validate_request_timestamp(body)<EOL>if not valid_cert or not valid_ts:<EOL><INDENT>log.error('<STR_LIT>')<EOL>abort(<NUM_LIT>)<EOL><DEDENT><DEDENT>resp_obj = self.alexa.dispatch_request(body)<EOL>return Response(response=json.dumps(resp_obj, indent=<NUM_LIT:4>),<EOL>status=<NUM_LIT:200>,<EOL>mimetype='<STR_LIT:application/json>')<EOL><DEDENT>except HTTPException as exc:<EOL><INDENT>log.exception('<STR_LIT>')<EOL>return exc<EOL><DEDENT>
Incoming request handler.

        :param request: Werkzeug request object