code: def _invoke_request_handler(self, function_name):
          
          flask_request = request
  
          request_data = flask_request.get_data()
  
          if not request_data:
              request_data = b'{}'
  
          request_data = request_data.decode('utf-8')
  
          stdout_stream = io.BytesIO()
          stdout_stream_writer = StreamWriter(stdout_stream, self.is_debugging)
  
          try:
              self.lambda_runner.invoke(function_name, request_data, stdout=stdout_stream_writer, stderr=self.stderr)
          except FunctionNotFound:
              LOG.debug('%s was not found to invoke.', function_name)
              return LambdaErrorResponses.resource_not_found(function_name)
  
          lambda_response, lambda_logs, is_lambda_user_error_response = \
              LambdaOutputParser.get_lambda_output(stdout_stream)
  
          if self.stderr and lambda_logs:
              # Write the logs to stderr if available.
              self.stderr.write(lambda_logs)
  
          if is_lambda_user_error_response:
              return self.service_response(lambda_response,
                                           {'Content-Type': 'application/json', 'x-amz-function-error': 'Unhandled'},
                                           200)
  
          return self.service_response(lambda_response, {'Content-Type': 'application/json'}, 200)
docs: Request Handler for the Local Lambda Invoke path. This method is responsible for understanding the incoming
          request and invoking the Local Lambda Function
  
          Parameters
          ----------
          function_name str
              Name of the function to invoke
  
          Returns
          -------
          A Flask Response response object as if it was returned from Lambda