<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def record(self, action, props=None, path=KISSmetrics.RECORD_PATH, resp=False):
 """Record event for identity with any properties. :param action: event performed :param props: any additional data to include :type props: dict :param resp: indicate whether to return response :type resp: boolean :returns: an HTTP response for request if `resp=True` :rtype: `urllib3.response.HTTPResponse` :raises: Exception if either `identity` or `key` not set """

        self.check_id_key()
        timestamp = None
        if not props:
            props = {}
        response = self.client.record(person=self.identity, event=action,
                                      properties=props, timestamp=timestamp,
                                      path=path)
        if resp:
            return response