docs: def _proxy(self, url, urlparams=None):
          """Do the actual action of proxying the call.
          """
          for k,v in request.params.iteritems():
              urlparams[k]=v
          query = urlencode(urlparams)
          full_url = url
          if query:
              if not full_url.endswith("?"):
                  full_url += "?"
              full_url += query
  
          # build the request with its headers
          req = urllib2.Request(url=full_url)
          for header in request.headers:
              if header.lower() == "host":
                  req.add_header(header, urlparse.urlparse(url)[1])
              else:
                  req.add_header(header, request.headers[header])
          res = urllib2.urlopen(req)
  
          # add response headers
          i = res.info()
          response.status = res.code
          got_content_length = False
          for header in i:
              # We don't support serving the result as chunked
              if header.lower() == "transfer-encoding":
                  continue
              if header.lower() == "content-length":
                  got_content_length = True
              response.headers[header] = i[header]
  
          # return the result
          result = res.read()
          res.close()
  
          #if not got_content_length:
          #    response.headers['content-length'] = str(len(result))
          return result