code: def _request(self,
                   path,
                   method="GET",
                   query=None,
                   body=None,
                   headers=None):
          
          assert path.startswith('/'), "bogus path: %r" % path
  
          # Presuming utf-8 encoding here for requests. Not sure if that is
          # technically correct.
          if not isinstance(path, bytes):
              spath = path.encode('utf-8')
          else:
              spath = path
  
          qpath = urlquote(spath)
          if query:
              qpath += '?' + urlencode(query)
          url = self.url + qpath
          http = self._get_http()
  
          ubody = body
          if body is not None and isinstance(body, dict):
              ubody = urlencode(body)
          if headers is None:
              headers = {}
          headers["User-Agent"] = self.user_agent
  
          if self.signer:
              # Signature auth.
              if "Date" not in headers:
                  headers["Date"] = http_date()
              sigstr = 'date: ' + headers["Date"]
              algorithm, fingerprint, signature = self.signer.sign(sigstr.encode(
                  'utf-8'))
              auth = 'Signature keyId="/%s/keys/%s",algorithm="%s",signature="%s"'\
                     % ('/'.join(filter(None, [self.account, self.subuser])),
                        fingerprint, algorithm, signature.decode('utf-8'))
  
              headers["Authorization"] = auth
  
              if self.role:
                  headers['Role'] = self.role
  
          # python 3
          try:
              url = url.decode('utf-8')  # encoding='utf-8'
          except:
              pass
  
          return http.request(url, method, ubody, headers)
docs: Make a Manta request
  
          ...
          @returns (res, content)