docs: def get_queue_metadata(self, queue_name, timeout=None):
          '''
          Retrieves user-defined metadata and queue properties on the specified
          queue. Metadata is associated with the queue as name-value pairs.
  
          :param str queue_name:
              The name of an existing queue.
          :param int timeout:
              The server timeout, expressed in seconds.
          :return:
              A dictionary representing the queue metadata with an 
              approximate_message_count int property on the dict estimating the 
              number of messages in the queue.
          :rtype: a dict mapping str to str
          '''
          _validate_not_none('queue_name', queue_name)
          request = HTTPRequest()
          request.method = 'GET'
          request.host = self._get_host()
          request.path = _get_path(queue_name)
          request.query = [
              ('comp', 'metadata'),
              ('timeout', _int_to_str(timeout)),
          ]
          response = self._perform_request(request)
  
          return _parse_metadata_and_message_count(response)