Ejemplo n.º 1
0
def unparse(scheme, host, port, path=""):
    """
    Returns a URL string, constructed from the specified components.

    Args:
        All args must be str.
    """
    if path == "*":
        path = ""
    return "%s://%s%s" % (scheme, utils.hostport(scheme, host, port), path)
Ejemplo n.º 2
0
def _assemble_request_headers(request_data):
    """
    Args:
        request_data (netlib.http.request.RequestData)
    """
    headers = request_data.headers.copy()
    if "host" not in headers and request_data.scheme and request_data.host and request_data.port:
        headers["host"] = utils.hostport(
            request_data.scheme,
            request_data.host,
            request_data.port
        )
    return bytes(headers)
Ejemplo n.º 3
0
    def _assemble_request_headers(self, request):
        headers = request.headers.copy()
        for k in request._headers_to_strip_off:
            del headers[k]
        if 'host' not in headers and request.scheme and request.host and request.port:
            headers["Host"] = [utils.hostport(request.scheme,
                                              request.host,
                                              request.port)]

        # If content is defined (i.e. not None or CONTENT_MISSING), we always
        # add a content-length header.
        if request.body or request.body == "":
            headers["Content-Length"] = [str(len(request.body))]

        return headers.format()
Ejemplo n.º 4
0
    def _assemble_request_headers(self, request):
        headers = request.headers.copy()
        for k in request._headers_to_strip_off:
            del headers[k]
        if 'host' not in headers and request.scheme and request.host and request.port:
            headers["Host"] = [
                utils.hostport(request.scheme, request.host, request.port)
            ]

        # If content is defined (i.e. not None or CONTENT_MISSING), we always
        # add a content-length header.
        if request.body or request.body == "":
            headers["Content-Length"] = [str(len(request.body))]

        return headers.format()
Ejemplo n.º 5
0
    def _assemble_headers(self):
        headers = self.headers.copy()
        utils.del_all(headers, [
            'Proxy-Connection', 'Keep-Alive', 'Connection', 'Transfer-Encoding'
        ])
        if not 'host' in headers:
            headers["Host"] = [
                utils.hostport(self.scheme, self.host
                               or self.flow.server_conn.address.host, self.port
                               or self.flow.server_conn.address.port)
            ]

        if self.content:
            headers["Content-Length"] = [str(len(self.content))]
        elif 'Transfer-Encoding' in self.headers:  # content-length for e.g. chuncked transfer-encoding with no content
            headers["Content-Length"] = ["0"]

        return str(headers)
Ejemplo n.º 6
0
    def _assemble_headers(self):
        headers = self.headers.copy()
        for k in ['Proxy-Connection',
                  'Keep-Alive',
                  'Connection',
                  'Transfer-Encoding']:
            del headers[k]
        if headers["Upgrade"] == ["h2c"]:  # Suppress HTTP2 https://http2.github.io/http2-spec/index.html#discover-http
            del headers["Upgrade"]
        if not 'host' in headers:
            headers["Host"] = [utils.hostport(self.scheme,
                                              self.host or self.flow.server_conn.address.host,
                                              self.port or self.flow.server_conn.address.port)]

        if self.content:
            headers["Content-Length"] = [str(len(self.content))]
        elif 'Transfer-Encoding' in self.headers:  # content-length for e.g. chuncked transfer-encoding with no content
            headers["Content-Length"] = ["0"]

        return str(headers)
Ejemplo n.º 7
0
    def _assemble_headers(self):
        headers = self.headers.copy()
        utils.del_all(
            headers,
            [
                'Proxy-Connection',
                'Keep-Alive',
                'Connection',
                'Transfer-Encoding'
            ]
        )
        if not 'host' in headers:
            headers["Host"] = [utils.hostport(self.scheme,
                                              self.host or self.flow.server_conn.address.host,
                                              self.port or self.flow.server_conn.address.port)]

        if self.content:
            headers["Content-Length"] = [str(len(self.content))]
        elif 'Transfer-Encoding' in self.headers:  # content-length for e.g. chuncked transfer-encoding with no content
            headers["Content-Length"] = ["0"]

        return str(headers)
Ejemplo n.º 8
0
    def _assemble_headers(self):
        headers = self.headers.copy()
        for k in [
                'Proxy-Connection', 'Keep-Alive', 'Connection',
                'Transfer-Encoding'
        ]:
            del headers[k]
        if headers["Upgrade"] == [
                "h2c"
        ]:  # Suppress HTTP2 https://http2.github.io/http2-spec/index.html#discover-http
            del headers["Upgrade"]
        if not 'host' in headers and self.scheme and self.host and self.port:
            headers["Host"] = [
                utils.hostport(self.scheme, self.host, self.port)
            ]

        if self.content:
            headers["Content-Length"] = [str(len(self.content))]
        elif 'Transfer-Encoding' in self.headers:  # content-length for e.g. chuncked transfer-encoding with no content
            headers["Content-Length"] = ["0"]

        return str(headers)