code: def request(self, request):
          
  
          url = "{}{}".format(self._base_url, request.path)
  
          timeout = self.poll_timeout
  
          if request.stream is True:
              timeout = self.stream_timeout
  
          try:
              http_response = self._session.request(
                  request.method,
                  url,
                  headers=self._headers,
                  params=request.params,
                  data=request.body,
                  stream=request.stream,
                  timeout=timeout
              )
          except requests.exceptions.ConnectionError:
              raise V20ConnectionError(url)
          except requests.exceptions.ConnectTimeout:
              raise V20Timeout(url, "connect")
          except requests.exceptions.ReadTimeout:
              raise V20Timeout(url, "read")
  
          request.headers = http_response.request.headers
  
          response = Response(
              request,
              request.method,
              http_response.url,
              http_response.status_code,
              http_response.reason,
              http_response.headers
          )
  
          if request.stream:
              response.set_line_parser(
                  request.line_parser
              )
  
              response.set_lines(
                  http_response.iter_lines(
                      self.stream_chunk_size
                  )
              )
          else:
              response.set_raw_body(http_response.text)
  
          return response
docs: Perform an HTTP request through the context
  
          Args:
              request: A v20.request.Request object
  
          Returns:
              A v20.response.Response object