Skip to content

Commit

Permalink
Changed webhook arguments and add exception handling
Browse files Browse the repository at this point in the history
  • Loading branch information
dadav committed Nov 7, 2019
1 parent 15fa703 commit b738001
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 24 deletions.
17 changes: 3 additions & 14 deletions pwnagotchi/plugins/default/example.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,26 +16,15 @@ def __init__(self):
logging.debug("example plugin created")

# called when http://<host>:<port>/plugins/<plugin>/ is called
# must return a response
def on_webhook(self, path, args, req_method):
# must return a html page
# IMPORTANT: If you use "POST"s, add a csrf-token (via csrf_token() and render_template_string)
def on_webhook(self, path, request):
pass

# called when the plugin is loaded
def on_loaded(self):
logging.warning("WARNING: this plugin should be disabled! options = " % self.options)

# called when <host>:<port>/plugins/<pluginname> is opened
def on_webhook(self, response, path):
res = "<html><body><a>Hook triggered</a></body></html>"
response.send_response(200)
response.send_header('Content-type', 'text/html')
response.end_headers()

try:
response.wfile.write(bytes(res, "utf-8"))
except Exception as ex:
logging.error(ex)

# called in manual mode when there's internet connectivity
def on_internet_available(self, agent):
pass
Expand Down
16 changes: 6 additions & 10 deletions pwnagotchi/ui/web/handler.py
Original file line number Diff line number Diff line change
Expand Up @@ -40,17 +40,13 @@ def plugins(self, name, subpath):
# show plugins overview
abort(404)
else:

# call plugin on_webhook
arguments = request.args
req_method = request.method

# need to return something here
if name in plugins.loaded and hasattr(plugins.loaded[name], 'on_webhook'):
return render_template_string(
plugins.loaded[name].on_webhook(subpath, args=arguments, req_method=req_method))

abort(500)
try:
return plugins.loaded[name].on_webhook(subpath, request)
except Exception:
abort(500)
else:
abort(404)

# serve a message and shuts down the unit
def shutdown(self):
Expand Down

0 comments on commit b738001

Please sign in to comment.