From 733294c87daa8d78114f450936b0120fdebf3b61 Mon Sep 17 00:00:00 2001 From: Mike McLean Date: Wed, 9 Apr 2025 10:06:26 -0400 Subject: [PATCH] Less log noise for empty or invalid requests --- kojihub/kojixmlrpc.py | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/kojihub/kojixmlrpc.py b/kojihub/kojixmlrpc.py index 809da603..e0dd0777 100644 --- a/kojihub/kojixmlrpc.py +++ b/kojihub/kojixmlrpc.py @@ -239,6 +239,11 @@ class ModXMLRPCRequestHandler(object): if maxlen and rlen > maxlen: raise koji.GenericError('Request too long') parser.feed(chunk) + if rlen == 0: + # blank posts are unfortunately a common client mistake + # make them less noisy + self.logger.debug('Empty request') + raise BadRequest('Empty request') parser.close() return unmarshaller.close(), unmarshaller.getmethodname() @@ -296,7 +301,12 @@ class ModXMLRPCRequestHandler(object): return kojihub.handle_upload(environ) def handle_rpc(self, environ): - params, method = self._read_request(environ['wsgi.input']) + try: + params, method = self._read_request(environ['wsgi.input']) + except Exception as e: + # only log full trace in debug stream + self.logger.debug("Error reading request", exc_info=True) + raise BadRequest('Invalid request: %s' % e) return self._dispatch(method, params) def check_session(self):