code: def http(self, url, data=None, headers=None):
          
          return self._connector.proxy_http(url, data, headers)
docs: Low level method to execute raw HTTP queries.
  
          .. note::
  
              For low level JSON-RPC queries, see the more convenient
              :func:`odoorpc.ODOO.json` method instead.
  
          You have to know the names of each POST parameter required by the
          URL, and set them in the `data` string/buffer.
          The `data` argument must be built by yourself, following the expected
          URL parameters (with :func:`urllib.urlencode` function for simple
          parameters, or multipart/form-data structure to handle file upload).
  
          E.g., the HTTP raw query to get the company logo on `Odoo 12.0`:
  
          .. doctest::
  
              >>> response = odoo.http('web/binary/company_logo')
              >>> binary_data = response.read()
  
          *Python 2:*
  
          :return: `urllib.addinfourl`
          :raise: `urllib2.HTTPError`
          :raise: `urllib2.URLError` (connection error)
  
          *Python 3:*
  
          :return: `http.client.HTTPResponse`
          :raise: `urllib.error.HTTPError`
          :raise: `urllib.error.URLError` (connection error)