MXS-1220: Use PUT to set/clear server
The correct method for set/clear endpoints is PUT, not POST, as the resource always ends up in the desired state, regardless of its current state.
This commit is contained in:
parent
30a40a090b
commit
a8bfdac49c
@ -504,7 +504,7 @@ Status: 403 Forbidden
|
||||
### Set server status
|
||||
|
||||
```
|
||||
POST /v1/servers/:name/set
|
||||
PUT /v1/servers/:name/set
|
||||
```
|
||||
|
||||
The _:name_ in the URI must map to a server name with all whitespace replaced
|
||||
@ -525,7 +525,7 @@ For example, to set the server _db-server-1_ into maintenance mode, a request to
|
||||
the following URL must be made:
|
||||
|
||||
```
|
||||
POST /v1/servers/db-server-1/set?status=maintenance
|
||||
PUT /v1/servers/db-server-1/set?status=maintenance
|
||||
```
|
||||
|
||||
#### Response
|
||||
|
@ -727,8 +727,6 @@ public:
|
||||
"services", ":service", "listeners")));
|
||||
m_post.push_back(SResource(new Resource(cb_create_user, 2, "users", "inet")));
|
||||
m_post.push_back(SResource(new Resource(cb_create_user, 2, "users", "unix")));
|
||||
m_post.push_back(SResource(new Resource(cb_set_server, 3, "servers", ":server", "set")));
|
||||
m_post.push_back(SResource(new Resource(cb_clear_server, 3, "servers", ":server", "clear")));
|
||||
|
||||
/** For all module commands that modify state/data */
|
||||
m_post.push_back(SResource(new Resource(cb_modulecmd, 4, "maxscale", "modules", ":module", "?")));
|
||||
@ -745,6 +743,8 @@ public:
|
||||
m_put.push_back(SResource(new Resource(cb_start_monitor, 3, "monitors", ":monitor", "start")));
|
||||
m_put.push_back(SResource(new Resource(cb_stop_service, 3, "services", ":service", "stop")));
|
||||
m_put.push_back(SResource(new Resource(cb_start_service, 3, "services", ":service", "start")));
|
||||
m_put.push_back(SResource(new Resource(cb_set_server, 3, "servers", ":server", "set")));
|
||||
m_put.push_back(SResource(new Resource(cb_clear_server, 3, "servers", ":server", "clear")));
|
||||
|
||||
m_delete.push_back(SResource(new Resource(cb_delete_server, 2, "servers", ":server")));
|
||||
m_delete.push_back(SResource(new Resource(cb_delete_monitor, 2, "monitors", ":monitor")));
|
||||
|
@ -90,7 +90,7 @@ describe("Server Status", function() {
|
||||
});
|
||||
|
||||
it("set server into maintenance", function() {
|
||||
return request.post(base_url + "/servers/" + server.data.id + "/set?status=maintenance")
|
||||
return request.put(base_url + "/servers/" + server.data.id + "/set?status=maintenance")
|
||||
.then(function(resp) {
|
||||
return request.get(base_url + "/servers/" + server.data.id)
|
||||
})
|
||||
@ -101,7 +101,7 @@ describe("Server Status", function() {
|
||||
});
|
||||
|
||||
it("clear maintenance", function() {
|
||||
return request.post(base_url + "/servers/" + server.data.id + "/clear?status=maintenance")
|
||||
return request.put(base_url + "/servers/" + server.data.id + "/clear?status=maintenance")
|
||||
.then(function(resp) {
|
||||
return request.get(base_url + "/servers/" + server.data.id)
|
||||
})
|
||||
@ -112,12 +112,12 @@ describe("Server Status", function() {
|
||||
});
|
||||
|
||||
it("set invalid status value", function() {
|
||||
return request.post(base_url + "/servers/" + server.data.id + "/set?status=somethingstrange")
|
||||
return request.put(base_url + "/servers/" + server.data.id + "/set?status=somethingstrange")
|
||||
.should.be.rejected
|
||||
});
|
||||
|
||||
it("clear invalid status value", function() {
|
||||
return request.post(base_url + "/servers/" + server.data.id + "/clear?status=somethingstrange")
|
||||
return request.put(base_url + "/servers/" + server.data.id + "/clear?status=somethingstrange")
|
||||
.should.be.rejected
|
||||
});
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user