{cgi,cmd-cgi,httpauth}.py: Check request methods on CGI commands.
[chopwood] / cmd-cgi.py
index 63253b7..104dd6a 100644 (file)
@@ -65,6 +65,7 @@ def cmd_list_cgi():
 
 @CGI.subcommand(
   'set', ['cgi'], 'Set password for a collection of services.',
+  methods = ['POST'],
   params = [SC.Arg('first'), SC.Arg('second')],
   rparam = SC.Arg('services'))
 def cmd_set_cgi(first, second, services = []):
@@ -74,6 +75,7 @@ def cmd_set_cgi(first, second, services = []):
 @CGI.subcommand(
   'reset', ['cgi'],
   'Reset passwords for a collection of services.',
+  methods = ['POST'],
   rparam = SC.Arg('services'))
 def cmd_reset_cgi(services = []):
   operate('reset passwords', 'reset', services)
@@ -81,13 +83,15 @@ def cmd_reset_cgi(services = []):
 @CGI.subcommand(
   'clear', ['cgi'],
   'Clear passwords for a collection of services.',
+  methods = ['POST'],
   rparam = SC.Arg('services'))
 def cmd_clear_cgi(services = []):
   operate('clear passwords', 'clear', services)
 
 @CGI.subcommand(
   'logout', ['cgi'],
-  'Log out of the web interface.')
+  'Log out of the web interface.',
+  methods = ['POST'])
 def cmd_logout_cgi():
   CGI.redirect(CGI.action('login', why = 'LOGOUT'),
                set_cookie = HA.bake_cookie('logged-out'))