Harpseal API Server

WebServer

The web server is based on aiohttp package.

class harpseal.web.WebServer(parent)[source]

Bases: object

Harpseal WebServer Class

Parameters:parent – Harpseal instance
authenticate_middleware(app, handler)[source]

Deny if key is set and does not match with key parameter given.

execute()[source]

Start a web server.

jsonp_middleware(app, handler)[source]

Retrurn data as JSONP callback format when callback parameter given.

parent = None

(harpseal.app.Harpseal) Harpseal instance

router = None

(harpseal.web.router.Router) Web router

whitelist = None

(list) IP whitelist

whitelist_middleware(app, handler)[source]

Deny if user’s ipaddress is not in the whitelist.

Web Classes

class harpseal.web.classes.Response(body=None, status=200, reason=None, headers=None)[source]

Bases: aiohttp.web_reqrep.StreamResponse

Response object.

body

(byte) Response content (utf-8 data)

write_eof()[source]
class harpseal.web.classes.MockRequest(get, match_info)[source]

Bases: object

Mock object for aiohttp.web.Request.

Web Router

class harpseal.web.router.Router(app, plugins)[source]

Bases: object

Router object

add_routes()[source]

Add a route that will redirect request to a suitable method of the handler.

Web Handler

class harpseal.web.handler.Handler(plugins)[source]

Bases: object

Handler object.

get_plugin_list(withdetails=False)[source]

Get plugin list.

Parameters:withdetails (bool) – True if you want to get plugin list with details.
get_plugin_logs(name, gte, lte=None)[source]

Get plugin logs.

Parameters:
  • name (str) – Plugin name
  • gte – Greater than or equal to (created time)
  • lte – Less than or equal to (created time)
parse_comptarget(req)[source]

Prase GET fragments that would includes optional arguments such as gte and lte.

plugin_handler(req)[source]
plugin_list_handler(req)[source]

Return plugin list.

plugins_handler(req)[source]

Return all plugin logs.

raise_error(reason='')[source]

Create an dict that represents error during the handling of the request.

websocket_handler(req)[source]

Handling websocket connections.