## over HTTP is done in `dispatch_cgi'.
with OUT.redirect_to(CGI.HTTPOutput()):
- with CGI.cgi_errors(cgi_setup): dispatch_cgi()
+ with U.Escape() as CGI.HEADER_DONE:
+ with CGI.cgi_errors(cgi_setup):
+ dispatch_cgi()
elif 'USERV_SERVICE' in ENV:
## This is a Userv request. The caller's user name is helpfully in the
with cli_errors():
OPTS, args = OPTPARSE.parse_args()
+ if not args or args[0] != 'userv':
+ raise U.ExpectedError, (500, 'missing userv token')
CONF.loadconfig(OPTS.config)
try: CU.set_user(ENV['USERV_USER'])
except KeyError: raise ExpectedError, (500, 'USERV_USER unset')
with OUT.redirect_to(O.FileOutput()):
- OPTPARSE.dispatch('userv', [ENV['USERV_SERVICE']] + args)
+ OPTPARSE.dispatch('userv', [ENV['USERV_SERVICE']] + args[1:])
elif 'SSH_ORIGINAL_COMMAND' in ENV:
## This looks like an SSH request; but we present two different