<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def uma_rs_check_access(self, rpt, path, http_method):
 """Function to be used in a UMA Resource Server to check access. Parameters: * **rpt (string):
** RPT or blank value if absent (not send by RP) * **path (string):
** Path of resource (e.g. for http://rs.com/phones, /phones should be passed) * **http_method (string):
** Http method of RP request (GET, POST, PUT, DELETE) Returns: **dict:** The access information received in the format below. If the access is granted:: { "access": "granted" } If the access is denied with ticket response:: { "access": "denied", "www-authenticate_header": "UMA realm='example', as_uri='https://as.example.com', error='insufficient_scope', ticket='016f84e8-f9b9-11e0-bd6f-0021cc6004de'", "ticket": "016f84e8-f9b9-11e0-bd6f-0021cc6004de" } If the access is denied without ticket response:: { "access": "denied" } Raises: ``oxdpython.exceptions.InvalidRequestError`` if the resource is not protected """

        params = {"oxd_id": self.oxd_id,
                  "rpt": rpt,
                  "path": path,
                  "http_method": http_method}

        logger.debug("Sending command `uma_rs_check_access` with params %s",
                     params)
        response = self.msgr.request("uma_rs_check_access", **params)
        logger.debug("Received response: %s", response)

        if response['status'] == 'error':
            if response['data']['error'] == 'invalid_request':
                raise InvalidRequestError(response['data'])
            else:
                raise OxdServerError(response['data'])
        return response['data']