diff --git a/rsd_lib/base.py b/rsd_lib/base.py index 8f84e52..1bd41b6 100644 --- a/rsd_lib/base.py +++ b/rsd_lib/base.py @@ -120,17 +120,23 @@ class ResourceBase(base.ResourceBase): description = base.Field("Description") """The resource description""" - def post(self, data): + def post(self, path="", data=None): """Issue HTTP POST request to this resource""" - self._conn.post(self.path, data=data) + if path == "": + path = self.path + self._conn.post(path, data=data) - def patch(self, data): + def patch(self, path="", data=None): """Issue HTTP PATCH request to this resource""" - self._conn.patch(self.path, data=data) + if path == "": + path = self.path + self._conn.patch(path, data=data) - def put(self, data): + def put(self, path="", data=None): """Issue HTTP PUT request to this resource""" - self._conn.put(self.path, data=data) + if path == "": + path = self.path + self._conn.put(path, data=data) def delete(self): """Delete this resource""" @@ -145,17 +151,23 @@ class ResourceCollectionBase(base.ResourceCollectionBase): description = base.Field("Description") """The resource collection description""" - def post(self, data): + def post(self, path="", data=None): """Issue HTTP POST request to this resource""" - self._conn.post(self.path, data=data) + if path == "": + path = self.path + self._conn.post(path, data=data) - def patch(self, data): + def patch(self, path="", data=None): """Issue HTTP PATCH request to this resource""" - self._conn.patch(self.path, data=data) + if path == "": + path = self.path + self._conn.patch(path, data=data) - def put(self, data): + def put(self, path="", data=None): """Issue HTTP PUT request to this resource""" - self._conn.put(self.path, data=data) + if path == "": + path = self.path + self._conn.put(path, data=data) def delete(self): """Delete this resource collection"""