intelmq.lib.mixins package

Submodules

intelmq.lib.mixins.cache module

CacheMixin for IntelMQ

SPDX-FileCopyrightText: 2021 Sebastian Waldbauer SPDX-License-Identifier: AGPL-3.0-or-later

CacheMixin is used for caching/storing data in redis.

class intelmq.lib.mixins.cache.CacheMixin(**kwargs)

Bases: object

cache_exists(key: str)
cache_flush()

Flushes the currently opened database by calling FLUSHDB.

cache_get(key: str)
cache_get_redis_instance()
cache_set(key: str, value: Any, ttl: Optional[int] = None)
redis_cache_db: int = 9
redis_cache_host: str = '127.0.0.1'
redis_cache_password: Optional[str] = None
redis_cache_port: int = 6379
redis_cache_ttl: int = 15

intelmq.lib.mixins.http module

HttpMixin for IntelMQ

SPDX-FileCopyrightText: 2021 Birger Schacht SPDX-License-Identifier: AGPL-3.0-or-later

Based on create_request_session in intelmq.lib.utils and set_request_parameters in intelmq.lib.bot.Bot

class intelmq.lib.mixins.http.HttpMixin(**kwargs)

Bases: object

Setup a request session

http_get(url: str, **kwargs) requests.models.Response
http_header: dict = {}
http_password = None
http_proxy = None
http_session() requests.sessions.Session
http_timeout_max_tries: int = 3
http_timeout_sec: int = 30
http_user_agent: str = 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36'
http_username = None
http_verify_cert: bool = True
https_proxy = None
setup()
ssl_client_cert = None
class intelmq.lib.mixins.http.TimeoutHTTPAdapter(*args, timeout=None, **kwargs)

Bases: requests.adapters.HTTPAdapter

A requests-HTTP Adapter which can set the timeout generally.

send(*args, **kwargs)

Sends PreparedRequest object. Returns Response object.

Parameters
  • request – The PreparedRequest being sent.

  • stream – (optional) Whether to stream the request content.

  • timeout (float or tuple or urllib3 Timeout object) – (optional) How long to wait for the server to send data before giving up, as a float, or a (connect timeout, read timeout) tuple.

  • verify – (optional) Either a boolean, in which case it controls whether we verify the server’s TLS certificate, or a string, in which case it must be a path to a CA bundle to use

  • cert – (optional) Any user-provided SSL certificate to be trusted.

  • proxies – (optional) The proxies dictionary to apply to the request.

Return type

requests.Response

Module contents

class intelmq.lib.mixins.CacheMixin(**kwargs)

Bases: object

cache_exists(key: str)
cache_flush()

Flushes the currently opened database by calling FLUSHDB.

cache_get(key: str)
cache_get_redis_instance()
cache_set(key: str, value: Any, ttl: Optional[int] = None)
redis_cache_db: int = 9
redis_cache_host: str = '127.0.0.1'
redis_cache_password: Optional[str] = None
redis_cache_port: int = 6379
redis_cache_ttl: int = 15
class intelmq.lib.mixins.HttpMixin(**kwargs)

Bases: object

Setup a request session

http_get(url: str, **kwargs) requests.models.Response
http_header: dict = {}
http_password = None
http_proxy = None
http_session() requests.sessions.Session
http_timeout_max_tries: int = 3
http_timeout_sec: int = 30
http_user_agent: str = 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36'
http_username = None
http_verify_cert: bool = True
https_proxy = None
setup()
ssl_client_cert = None