code: def register_rp_hook(r, *args, **kwargs):
      
      if r.status_code == 409 and 'msrest' in kwargs:
          rp_name = _check_rp_not_registered_err(r)
          if rp_name:
              session = kwargs['msrest']['session']
              url_prefix = _extract_subscription_url(r.request.url)
              if not _register_rp(session, url_prefix, rp_name):
                  return
              req = r.request
              # Change the 'x-ms-client-request-id' otherwise the Azure endpoint
              # just returns the same 409 payload without looking at the actual query
              if 'x-ms-client-request-id' in req.headers:
                  req.headers['x-ms-client-request-id'] = str(uuid.uuid1())
              return session.send(req)
docs: This is a requests hook to register RP automatically.
  
      You should not use this command manually, this is added automatically
      by the SDK.
  
      See requests documentation for details of the signature of this function.
      http://docs.python-requests.org/en/master/user/advanced/#event-hooks