Skip to content

Commit 2b21240

Browse files
authored
Merge pull request #86 from apache/post
Use POST for user sensitive calls
2 parents bc95c25 + 0b2d6ba commit 2b21240

File tree

4 files changed

+21
-7
lines changed

4 files changed

+21
-7
lines changed

cloudstack/UserService.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -297,7 +297,7 @@ func (s *UserService) NewCreateUserParams(account string, email string, firstnam
297297

298298
// Creates a user for an account that already exists
299299
func (s *UserService) CreateUser(p *CreateUserParams) (*CreateUserResponse, error) {
300-
resp, err := s.cs.newRequest("createUser", p.toURLValues())
300+
resp, err := s.cs.newPostRequest("createUser", p.toURLValues())
301301
if err != nil {
302302
return nil, err
303303
}
@@ -1718,7 +1718,7 @@ func (s *UserService) NewUpdateUserParams(id string) *UpdateUserParams {
17181718

17191719
// Updates a user account
17201720
func (s *UserService) UpdateUser(p *UpdateUserParams) (*UpdateUserResponse, error) {
1721-
resp, err := s.cs.newRequest("updateUser", p.toURLValues())
1721+
resp, err := s.cs.newPostRequest("updateUser", p.toURLValues())
17221722
if err != nil {
17231723
return nil, err
17241724
}

cloudstack/VPNService.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -221,7 +221,7 @@ func (s *VPNService) NewAddVpnUserParams(password string, username string) *AddV
221221

222222
// Adds vpn users
223223
func (s *VPNService) AddVpnUser(p *AddVpnUserParams) (*AddVpnUserResponse, error) {
224-
resp, err := s.cs.newRequest("addVpnUser", p.toURLValues())
224+
resp, err := s.cs.newPostRequest("addVpnUser", p.toURLValues())
225225
if err != nil {
226226
return nil, err
227227
}

generate/generate.go

+15-1
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,20 @@ var detailsRequireZeroIndex = map[string]bool{
5858
"updateAccount": true,
5959
}
6060

61+
// requiresPost is a prefilled set of API names that require POST
62+
// for security or size purposes
63+
var requiresPostMethod = map[string]bool{
64+
"login": true,
65+
"deployVirtualMachine": true,
66+
"updateVirtualMachine": true,
67+
"createUser": true,
68+
"updateUser": true,
69+
"addVpnUser": true,
70+
"registerUserData": true,
71+
"setupUserTwoFactorAuthentication": true,
72+
"validateUserTwoFactorAuthenticationCode": true,
73+
}
74+
6175
var mapRequireList = map[string]map[string]bool{
6276
"deployVirtualMachine": map[string]bool{
6377
"dhcpoptionsnetworklist": true,
@@ -1705,7 +1719,7 @@ func (s *service) generateNewAPICallFunc(a *API) {
17051719
pn(" time.Sleep(500 * time.Millisecond)")
17061720
pn(" }")
17071721
} else {
1708-
if a.Name == "deployVirtualMachine" || a.Name == "login" || a.Name == "updateVirtualMachine" {
1722+
if requiresPostMethod[a.Name] {
17091723
pn(" resp, err := s.cs.newPostRequest(\"%s\", p.toURLValues())", a.Name)
17101724
} else {
17111725
pn(" resp, err := s.cs.newRequest(\"%s\", p.toURLValues())", a.Name)

generate/listApis.json

+3-3
Original file line numberDiff line numberDiff line change
@@ -44786,7 +44786,7 @@
4478644786
]
4478744787
},
4478844788
{
44789-
"description": "Lists OpenDyalight controllers",
44789+
"description": "Lists OpenDaylight controllers",
4479044790
"isasync": false,
4479144791
"name": "listOpenDaylightControllers",
4479244792
"params": [
@@ -55892,7 +55892,7 @@
5589255892
"since": "4.15.0"
5589355893
},
5589455894
{
55895-
"description": "Removes an OpenDyalight controler",
55895+
"description": "Removes an OpenDaylight controller",
5589655896
"isasync": true,
5589755897
"name": "deleteOpenDaylightController",
5589855898
"params": [
@@ -117752,7 +117752,7 @@
117752117752
]
117753117753
},
117754117754
{
117755-
"description": "Adds an OpenDyalight controler",
117755+
"description": "Adds an OpenDaylight controller",
117756117756
"isasync": true,
117757117757
"name": "addOpenDaylightController",
117758117758
"params": [

0 commit comments

Comments
 (0)