code: def _send_request(self, request):
          
          headers = {"X-Experience-API-Version": self.version}
  
          if self.auth is not None:
              headers["Authorization"] = self.auth
  
          headers.update(request.headers)
  
          params = request.query_params
          params = {k: unicode(params[k]).encode('utf-8') for k in params.keys()}
          params = urllib.urlencode(params)
  
          if request.resource.startswith('http'):
              url = request.resource
          else:
              url = self.endpoint
              url += request.resource
  
          parsed = urlparse(url)
  
          if parsed.scheme == "https":
              web_req = httplib.HTTPSConnection(parsed.hostname, parsed.port)
          else:
              web_req = httplib.HTTPConnection(parsed.hostname, parsed.port)
  
          path = parsed.path
          if parsed.query or parsed.path:
              path += "?"
              if parsed.query:
                  path += parsed.query
              if params:
                  path += params
  
          if hasattr(request, "content") and request.content is not None:
              web_req.request(
                  method=request.method,
                  url=path,
                  body=request.content,
                  headers=headers,
              )
          else:
              web_req.request(
                  method=request.method,
                  url=path,
                  headers=headers,
              )
  
          response = web_req.getresponse()
          data = response.read()
          web_req.close()
  
          if (200 <= response.status < 300
              or (response.status == 404
                  and hasattr(request, "ignore404")
                  and request.ignore404)):
              success = True
          else:
              success = False
  
          return LRSResponse(
              success=success,
              request=request,
              response=response,
              data=data,
          )
docs: Establishes connection and returns http response based off of request.
  
          :param request: HTTPRequest object
          :type request: :class:`tincan.http_request.HTTPRequest`
          :returns: LRS Response object
          :rtype: :class:`tincan.lrs_response.LRSResponse`