From 568393c941df58d6dc0b0cb3dc9488cb1e0d37f3 Mon Sep 17 00:00:00 2001 From: Kevin O'Connor Date: Tue, 11 Aug 2020 16:54:17 -0400 Subject: webhooks: Remove "method" parameter from webhook requests Don't require or use the "method" parameter of requests. This simplifies the interface. Signed-off-by: Kevin O'Connor --- klippy/webhooks.py | 46 ++++++++++++++-------------------------------- 1 file changed, 14 insertions(+), 32 deletions(-) (limited to 'klippy/webhooks.py') diff --git a/klippy/webhooks.py b/klippy/webhooks.py index dbe67cf2..e923e986 100644 --- a/klippy/webhooks.py +++ b/klippy/webhooks.py @@ -48,7 +48,6 @@ class WebRequest: def __init__(self, base_request): self.id = base_request['id'] self.path = base_request['path'] - self.method = base_request['method'] self.args = base_request['args'] self.response = None @@ -71,9 +70,6 @@ class WebRequest: def get_path(self): return self.path - def get_method(self): - return self.method - def set_error(self, error): self.response = error.to_dict() @@ -285,8 +281,6 @@ class WebHooks: web_request.send({'endpoints': self._endpoints.keys()}) def _handle_info_request(self, web_request): - if web_request.get_method() != 'GET': - raise web_request.error("Invalid Request Method") state_message, state = self.printer.get_state_message() klipper_path = os.path.normpath(os.path.join( os.path.dirname(__file__), "..")) @@ -299,8 +293,6 @@ class WebHooks: web_request.send(response) def _handle_estop_request(self, web_request): - if web_request.get_method() != 'POST': - raise web_request.error("Invalid Request Method") self.printer.invoke_shutdown("Shutdown due to webhooks request") def get_connection(self): @@ -346,15 +338,13 @@ class StatusHandler: "gcode:request_restart", self._handle_restart) # Register webhooks - webhooks.register_endpoint( - "objects/list", - self._handle_object_request) - webhooks.register_endpoint( - "objects/status", - self._handle_status_request) - webhooks.register_endpoint( - "objects/subscription", - self._handle_subscription_request) + webhooks.register_endpoint("objects/list", self._handle_object_request) + webhooks.register_endpoint("objects/status", + self._handle_status_request) + webhooks.register_endpoint("objects/subscription", + self._handle_subscription_request) + webhooks.register_endpoint("objects/list_subscription", + self._handle_list_subscription_request) def _handle_ready(self): eventtime = self.reactor.monotonic() @@ -396,31 +386,23 @@ class StatusHandler: return result def _handle_object_request(self, web_request): - if web_request.get_method() != 'GET': - raise web_request.error("Invalid Request Method") web_request.send(dict(self.available_objects)) def _handle_status_request(self, web_request): - if web_request.get_method() != 'GET': - raise web_request.error("Invalid Request Method") args = web_request.get_args() eventtime = self.reactor.monotonic() result = self._process_status_request(args, eventtime) web_request.send(result) def _handle_subscription_request(self, web_request): - method = web_request.get_method() - if method == 'POST': - # add a subscription - args = web_request.get_args() - if args: - self.add_subscripton(args) - else: - raise web_request.error("Invalid argument") + args = web_request.get_args() + if args: + self.add_subscripton(args) else: - # get subscription info - result = dict(self.subscriptions) - web_request.send(result) + raise web_request.error("Invalid argument") + + def _handle_list_subscription_request(self, web_request): + web_request.send(dict(self.subscriptions)) def add_subscripton(self, new_sub): if not new_sub: -- cgit v1.2.3-70-g09d2