hawat.blueprints.whois package

Description

This pluggable module provides access to local WHOIS service. It is implemented upon custom mentat.services.whois module. The main purpose of the WHOIS service in Mentat system is to resolve abuse contacts for event sources to enable automated event reporting capabilities. Another use case is data access management directed by abuse group memberships in web interface.

This module enables access to internal WHOIS database and enables users to input queries. The main use case scenario is a validation of target abuse contact for particular source address/network.

Provided endpoints

/whois/search

Endpoint providing search form for querying local WHOIS service and formating result as HTML page.

  • Authentication: login required

  • Methods: GET

/api/whois/search

Endpoint providing API search form for querying local WHOIS service and formating result as JSON document.

  • Authentication: login required

  • Authorization: any role

  • Methods: GET, POST

/snippet/whois/search

Endpoint providing API search form for querying local WHOIS service and formating result as JSON document containing HTML snippets.

  • Authentication: login required

  • Authorization: any role

  • Methods: GET, POST

class hawat.blueprints.whois.APISearchView[source]

Bases: hawat.base.AJAXMixin, hawat.blueprints.whois.AbstractSearchView

View responsible for querying local WHOIS service and presenting the results in the form of JSON document.

classmethod get_view_name()[source]

Implementation of hawat.base.BaseView.get_view_name().

methods = ['GET', 'POST']
class hawat.blueprints.whois.AbstractSearchView[source]

Bases: hawat.base.RenderableView

Application view providing base search capabilities for local WHOIS service.

The querying is implemented using mentat.services.whois module.

authentication = True
authorization = [<Permission needs={Need(method='role', value='maintainer'), Need(method='role', value='developer'), Need(method='role', value='user'), Need(method='role', value='admin')} excludes=set()>]
dispatch_request()[source]

Mandatory interface required by the flask.views.View.dispatch_request(). Will be called by the Flask framework to service the request.

classmethod get_menu_title(**kwargs)[source]

Implementation of hawat.base.BaseView.get_menu_title().

classmethod get_view_title(**kwargs)[source]

Implementation of hawat.base.BaseView.get_view_title().

hawat.blueprints.whois.BLUEPRINT_NAME = 'whois'

Name of the blueprint as module global constant.

class hawat.blueprints.whois.SearchView[source]

Bases: hawat.base.HTMLMixin, hawat.blueprints.whois.AbstractSearchView

View responsible for querying local WHOIS service and presenting the results in the form of HTML page.

classmethod get_view_name()[source]

Implementation of hawat.base.BaseView.get_view_name().

methods = ['GET']
class hawat.blueprints.whois.SnippetSearchView[source]

Bases: hawat.base.SnippetMixin, hawat.blueprints.whois.AbstractSearchView

View responsible for querying local WHOIS service and presenting the results in the form of JSON document containing ready to use HTML page snippets.

classmethod get_view_name()[source]

Implementation of hawat.base.BaseView.get_view_name().

methods = ['GET', 'POST']
process_response_context()[source]

Implementation of hawat.base.AJAXMixin.process_response_context().

renders = ['label', 'full']
snippets = ['abuse']
class hawat.blueprints.whois.WhoisBlueprint(name, import_name, **kwargs)[source]

Bases: hawat.base.HawatBlueprint

Hawat pluggable module - WHOIS service.

classmethod get_module_title()[source]

Implementation of hawat.base.HawatBlueprint.get_module_title().

register_app(app)[source]

Callback method. Will be called from hawat.base.HawatApp.register_blueprint() method and can be used to customize the Flask application object. Possible use cases:

  • application menu customization

Parameters

app (hawat.base.HawatApp) – Flask application to be customize.

hawat.blueprints.whois.get_blueprint()[source]

Mandatory interface and factory function. This function must return a valid instance of hawat.base.HawatBlueprint or flask.Blueprint.