[PATCH phosphor-rest-server] Handle type errors for method call parameters
OpenBMC Patches
openbmc-patches at stwcx.xyz
Thu Dec 3 03:20:32 AEDT 2015
From: Brad Bishop <bradleyb at us.ibm.com>
Raise a 400 rather than internal server error for type errors.
---
obmc-rest | 3 +++
1 file changed, 3 insertions(+)
diff --git a/obmc-rest b/obmc-rest
index c5ba8dc..74b5926 100644
--- a/obmc-rest
+++ b/obmc-rest
@@ -15,6 +15,7 @@ from OpenBMCMapper import Mapper, PathTree, IntrospectionNodeParser, ListMatch
DBUS_UNKNOWN_INTERFACE = 'org.freedesktop.UnknownInterface'
DBUS_UNKNOWN_METHOD = 'org.freedesktop.DBus.Error.UnknownMethod'
DBUS_INVALID_ARGS = 'org.freedesktop.DBus.Error.InvalidArgs'
+DBUS_TYPE_ERROR = 'org.freedesktop.DBus.Python.TypeError'
DELETE_IFACE = 'org.openbmc.Object.Delete'
_4034_msg = "The specified %s cannot be %s: '%s'"
@@ -216,6 +217,8 @@ class MethodHandler(RouteHandler):
except dbus.exceptions.DBusException, e:
if e.get_dbus_name() == DBUS_INVALID_ARGS:
abort(400, str(e))
+ if e.get_dbus_name() == DBUS_TYPE_ERROR:
+ abort(400, str(e))
raise
@staticmethod
--
2.6.3
More information about the openbmc
mailing list