Don't fail on missing Delete interfaces

On the DELETE HTTP request, don't immediately fail if
the specified bus does't provide the delete interface on
the specified path, just skip it instead.

Only return the 403 error if nothing at all ended up being
deleted on the request.

This allows multiple services to host the same object path while
only requiring one to support the delete interface.  The others
will just listen for the interfaces removed signal to remove
their objects.

Resolves openbmc/openbmc#3181

Tested:
  * Issue a -X DELETE with curl on a path provided by multiple
    services where only 1 provides the delete interface.
  * Issue a -X POST .../action/delete with curl with the same
    test setup.
  * Issue a -X DELETE with curl on a path without a
    delete interface and get a 403 back.

Change-Id: Ib76c80081361160e617ddfe8b48e3e4588abce67
Signed-off-by: Matt Spinler <spinler@us.ibm.com>
1 file changed
tree: 70a6e147e47593f8bbcc77c64598d7179e42f1f3
  1. module/
  2. servers/
  3. LICENSE