From 826073fd1513535df0e4e39e8e0ea1669af08ae3 Mon Sep 17 00:00:00 2001
From: jurgenhaas <juergen@paragon-es.de>
Date: Fri, 29 May 2015 09:52:47 +0200
Subject: [PATCH] Use PUT instead of POST when updating services

---
 action_plugins/serverdensity.py | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/action_plugins/serverdensity.py b/action_plugins/serverdensity.py
index 14c64b8..ddfee14 100644
--- a/action_plugins/serverdensity.py
+++ b/action_plugins/serverdensity.py
@@ -177,7 +177,8 @@ class ActionModule(object):
         postData = {}
 
         if data:
-            method = 'POST'
+            if method == 'GET':
+                method = 'POST'
             for key in data:
                 item = data.get(key)
                 if type(item) is list or type(item) is dict:
@@ -194,6 +195,8 @@ class ActionModule(object):
                 request_result = requests.get('https://api.serverdensity.io/' + path, params = {'token': self.api_token})
             elif method == 'POST':
                 request_result = requests.post('https://api.serverdensity.io/' + path, params = {'token': self.api_token}, data = postData)
+            elif method == 'PUT':
+                request_result = requests.put('https://api.serverdensity.io/' + path, params = {'token': self.api_token}, data = postData)
             elif method == 'DELETE':
                 request_result = requests.delete('https://api.serverdensity.io/' + path, params = {'token': self.api_token})
         except ae, e:
@@ -411,12 +414,14 @@ class ActionModule(object):
         if not serviceId:
             path = 'inventory/services'
             self.cache_reset()
+            method = 'POST'
         else:
             if not self.force_update:
                 return
             path = 'inventory/services/' + serviceId
+            method = 'PUT'
 
-        service = self._request(path, service)
+        service = self._request(path, service, method)
 
         if not serviceId:
             self.services.append(service)
-- 
GitLab