| 12345678910111213141516171819202122232425262728293031323334353637 | # SPDX-License-Identifier: AGPL-3.0-or-later# lint: pylint"""Method ``http_connection``--------------------------The ``http_connection`` method evaluates a request as the request of a bot ifthe Connection_ header is set to ``close``... _Connection:   https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Connection"""# pylint: disable=unused-argumentfrom __future__ import annotationsfrom ipaddress import (    IPv4Network,    IPv6Network,)import flaskimport werkzeugfrom . import configfrom ._helpers import too_many_requestsdef filter_request(    network: IPv4Network | IPv6Network,    request: flask.Request,    cfg: config.Config,) -> werkzeug.Response | None:    if request.headers.get('Connection', '').strip() == 'close':        return too_many_requests(network, "HTTP header 'Connection=close")    return None
 |