예제 #1
0
 def get_selector(self):
     scheme, authority, path, query, fragment = _rfc3986.urlsplit(
         self.__r_host)
     if path == "":
         path = "/"  # RFC 2616, section 3.2.2
     fragment = None  # RFC 3986, section 3.5
     return _rfc3986.urlunsplit([scheme, authority, path, query, fragment])
예제 #2
0
 def get_selector(self):
     scheme, authority, path, query, fragment = _rfc3986.urlsplit(
         self.__r_host)
     if path == "":
         path = "/"  # RFC 2616, section 3.2.2
     fragment = None  # RFC 3986, section 3.5
     return _rfc3986.urlunsplit([scheme, authority, path, query, fragment])
예제 #3
0
    def _add_referer_header(self, request, origin_request=True):
        if self.request is None:
            return request
        scheme = request.get_type()
        original_scheme = self.request.get_type()
        if scheme not in ["http", "https"]:
            return request
        if not origin_request and not self.request.has_header("Referer"):
            return request

        if (self._handle_referer and original_scheme in ["http", "https"]
                and not (original_scheme == "https" and scheme != "https")):
            # strip URL fragment (RFC 2616 14.36)
            parts = _rfc3986.urlsplit(self.request.get_full_url())
            parts = parts[:-1] + (None, )
            referer = _rfc3986.urlunsplit(parts)
            request.add_unredirected_header("Referer", referer)
        return request
예제 #4
0
    def _add_referer_header(self, request, origin_request=True):
        if self.request is None:
            return request
        scheme = request.get_type()
        original_scheme = self.request.get_type()
        if scheme not in ["http", "https"]:
            return request
        if not origin_request and not self.request.has_header("Referer"):
            return request

        if (self._handle_referer and
            original_scheme in ["http", "https"] and
            not (original_scheme == "https" and scheme != "https")):
            # strip URL fragment (RFC 2616 14.36)
            parts = _rfc3986.urlsplit(self.request.get_full_url())
            parts = parts[:-1]+(None,)
            referer = _rfc3986.urlunsplit(parts)
            request.add_unredirected_header("Referer", referer)
        return request