<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def on_post(self, req, resp):
 """ Validate the token revocation request for spec compliance The spec also dictates the JSON based error response on failure & is handled in this responder. """


        token = req.get_param('token')
        token_type_hint = req.get_param('token_type_hint')

        # errors or not, disable client caching along the way
        # per the spec
        resp.disable_caching()

        if not token:
            resp.status = falcon.HTTP_400
            resp.serialize({
                'error': 'invalid_request',
                'error_description': 'A token parameter is required during '
                                     'revocation according to RFC 7009.',
                'error_uri': 'tools.ietf.org/html/rfc7009#section-2.1',
            })
        elif token_type_hint == 'refresh_token':
            resp.status = falcon.HTTP_400
            resp.serialize({
                'error': 'unsupported_token_type',
                'error_description': 'Currently only access_token types can '
                                     'be revoked, NOT refresh_token types.',
                'error_uri': 'tools.ietf.org/html/rfc7009#section-2.2.1',
            })
        else:
            # ignore return code per section 2.2
            self.revoke_token(token)
            resp.status = falcon.HTTP_200