@@ -763,6 +763,7 @@ func (s *ScalewayAPI) GetServers(all bool, limit int) (*[]ScalewayServer, error)
763763 return nil , err
764764 }
765765 defer resp .Body .Close ()
766+
766767 var servers ScalewayServers
767768 decoder := json .NewDecoder (resp .Body )
768769 err = decoder .Decode (& servers )
@@ -786,6 +787,7 @@ func (s *ScalewayAPI) GetServer(serverID string) (*ScalewayServer, error) {
786787 return nil , err
787788 }
788789 defer resp .Body .Close ()
790+
789791 decoder := json .NewDecoder (resp .Body )
790792
791793 if resp .StatusCode != 200 {
@@ -816,14 +818,14 @@ func (s *ScalewayAPI) PostServerAction(serverID, action string) error {
816818 if err != nil {
817819 return err
818820 }
821+ defer resp .Body .Close ()
819822
820823 // Succeed POST code
821824 if resp .StatusCode == 202 {
822825 return nil
823826 }
824827
825828 var error ScalewayAPIError
826- defer resp .Body .Close ()
827829 decoder := json .NewDecoder (resp .Body )
828830 err = decoder .Decode (& error )
829831 if err != nil {
@@ -841,6 +843,7 @@ func (s *ScalewayAPI) DeleteServer(serverID string) error {
841843 if err != nil {
842844 return err
843845 }
846+ defer resp .Body .Close ()
844847
845848 // Succeed POST code
846849 if resp .StatusCode == 204 {
@@ -849,7 +852,6 @@ func (s *ScalewayAPI) DeleteServer(serverID string) error {
849852 }
850853
851854 var error ScalewayAPIError
852- defer resp .Body .Close ()
853855 decoder := json .NewDecoder (resp .Body )
854856 err = decoder .Decode (& error )
855857 if err != nil {
@@ -869,8 +871,8 @@ func (s *ScalewayAPI) PostServer(definition ScalewayServerDefinition) (string, e
869871 if err != nil {
870872 return "" , err
871873 }
872-
873874 defer resp .Body .Close ()
875+
874876 decoder := json .NewDecoder (resp .Body )
875877
876878 // Succeed POST code
@@ -904,8 +906,8 @@ func (s *ScalewayAPI) PatchUserSSHKey(UserID string, definition ScalewayUserPatc
904906 if err != nil {
905907 return err
906908 }
907-
908909 defer resp .Body .Close ()
910+
909911 decoder := json .NewDecoder (resp .Body )
910912
911913 // Succeed PATCH code
@@ -930,8 +932,8 @@ func (s *ScalewayAPI) PatchServer(serverID string, definition ScalewayServerPatc
930932 if err != nil {
931933 return err
932934 }
933-
934935 defer resp .Body .Close ()
936+
935937 decoder := json .NewDecoder (resp .Body )
936938
937939 // Succeed PATCH code
@@ -958,12 +960,11 @@ func (s *ScalewayAPI) PostSnapshot(volumeID string, name string) (string, error)
958960 Organization : s .Organization ,
959961 }
960962 resp , err := s .PostResponse ("snapshots" , definition )
961-
962963 if err != nil {
963964 return "" , err
964965 }
965-
966966 defer resp .Body .Close ()
967+
967968 decoder := json .NewDecoder (resp .Body )
968969
969970 // Succeed POST code
@@ -997,13 +998,13 @@ func (s *ScalewayAPI) PostImage(volumeID string, name string) (string, error) {
997998 Organization : s .Organization ,
998999 Arch : "arm" ,
9991000 }
1000- resp , err := s .PostResponse ("images" , definition )
10011001
1002+ resp , err := s .PostResponse ("images" , definition )
10021003 if err != nil {
10031004 return "" , err
10041005 }
1005-
10061006 defer resp .Body .Close ()
1007+
10071008 decoder := json .NewDecoder (resp .Body )
10081009
10091010 // Succeed POST code
@@ -1035,12 +1036,13 @@ func (s *ScalewayAPI) PostVolume(definition ScalewayVolumeDefinition) (string, e
10351036 if definition .Type == "" {
10361037 definition .Type = "l_ssd"
10371038 }
1039+
10381040 resp , err := s .PostResponse ("volumes" , definition )
10391041 if err != nil {
10401042 return "" , err
10411043 }
1042-
10431044 defer resp .Body .Close ()
1045+
10441046 decoder := json .NewDecoder (resp .Body )
10451047
10461048 // Succeed POST code
@@ -1072,8 +1074,8 @@ func (s *ScalewayAPI) PutVolume(volumeID string, definition ScalewayVolumePutDef
10721074 if err != nil {
10731075 return err
10741076 }
1075-
10761077 defer resp .Body .Close ()
1078+
10771079 decoder := json .NewDecoder (resp .Body )
10781080
10791081 // Succeed PUT code
@@ -1153,6 +1155,7 @@ func (s *ScalewayAPI) GetImages() (*[]ScalewayImage, error) {
11531155 return nil , err
11541156 }
11551157 defer resp .Body .Close ()
1158+
11561159 var images ScalewayImages
11571160 decoder := json .NewDecoder (resp .Body )
11581161 err = decoder .Decode (& images )
@@ -1172,6 +1175,7 @@ func (s *ScalewayAPI) GetImage(imageID string) (*ScalewayImage, error) {
11721175 return nil , err
11731176 }
11741177 defer resp .Body .Close ()
1178+
11751179 var oneImage ScalewayOneImage
11761180 decoder := json .NewDecoder (resp .Body )
11771181 err = decoder .Decode (& oneImage )
@@ -1189,6 +1193,7 @@ func (s *ScalewayAPI) DeleteImage(imageID string) error {
11891193 s .Cache .RemoveImage (imageID )
11901194 return err
11911195 }
1196+ defer resp .Body .Close ()
11921197
11931198 // Succeed POST code
11941199 if resp .StatusCode == 204 {
@@ -1197,7 +1202,6 @@ func (s *ScalewayAPI) DeleteImage(imageID string) error {
11971202 }
11981203
11991204 var error ScalewayAPIError
1200- defer resp .Body .Close ()
12011205 decoder := json .NewDecoder (resp .Body )
12021206 err = decoder .Decode (& error )
12031207 if err != nil {
@@ -1213,11 +1217,13 @@ func (s *ScalewayAPI) DeleteImage(imageID string) error {
12131217func (s * ScalewayAPI ) GetSnapshots () (* []ScalewaySnapshot , error ) {
12141218 query := url.Values {}
12151219 s .Cache .ClearSnapshots ()
1220+
12161221 resp , err := s .GetResponse ("snapshots?" + query .Encode ())
12171222 if err != nil {
12181223 return nil , err
12191224 }
12201225 defer resp .Body .Close ()
1226+
12211227 var snapshots ScalewaySnapshots
12221228 decoder := json .NewDecoder (resp .Body )
12231229 err = decoder .Decode (& snapshots )
@@ -1237,6 +1243,7 @@ func (s *ScalewayAPI) GetSnapshot(snapshotID string) (*ScalewaySnapshot, error)
12371243 return nil , err
12381244 }
12391245 defer resp .Body .Close ()
1246+
12401247 var oneSnapshot ScalewayOneSnapshot
12411248 decoder := json .NewDecoder (resp .Body )
12421249 err = decoder .Decode (& oneSnapshot )
@@ -1251,11 +1258,13 @@ func (s *ScalewayAPI) GetSnapshot(snapshotID string) (*ScalewaySnapshot, error)
12511258func (s * ScalewayAPI ) GetVolumes () (* []ScalewayVolume , error ) {
12521259 query := url.Values {}
12531260 s .Cache .ClearVolumes ()
1261+
12541262 resp , err := s .GetResponse ("volumes?" + query .Encode ())
12551263 if err != nil {
12561264 return nil , err
12571265 }
12581266 defer resp .Body .Close ()
1267+
12591268 var volumes ScalewayVolumes
12601269 decoder := json .NewDecoder (resp .Body )
12611270 err = decoder .Decode (& volumes )
@@ -1275,6 +1284,7 @@ func (s *ScalewayAPI) GetVolume(volumeID string) (*ScalewayVolume, error) {
12751284 return nil , err
12761285 }
12771286 defer resp .Body .Close ()
1287+
12781288 var oneVolume ScalewayOneVolume
12791289 decoder := json .NewDecoder (resp .Body )
12801290 err = decoder .Decode (& oneVolume )
@@ -1294,6 +1304,7 @@ func (s *ScalewayAPI) GetBootscripts() (*[]ScalewayBootscript, error) {
12941304 return nil , err
12951305 }
12961306 defer resp .Body .Close ()
1307+
12971308 var bootscripts ScalewayBootscripts
12981309 decoder := json .NewDecoder (resp .Body )
12991310 err = decoder .Decode (& bootscripts )
@@ -1313,6 +1324,7 @@ func (s *ScalewayAPI) GetBootscript(bootscriptID string) (*ScalewayBootscript, e
13131324 return nil , err
13141325 }
13151326 defer resp .Body .Close ()
1327+
13161328 var oneBootscript ScalewayOneBootscript
13171329 decoder := json .NewDecoder (resp .Body )
13181330 err = decoder .Decode (& oneBootscript )
@@ -1334,6 +1346,7 @@ func (s *ScalewayAPI) GetUserdatas(serverID string) (*ScalewayUserdatas, error)
13341346 return nil , err
13351347 }
13361348 defer resp .Body .Close ()
1349+
13371350 var userdatas ScalewayUserdatas
13381351 decoder := json .NewDecoder (resp .Body )
13391352 err = decoder .Decode (& userdatas )
@@ -1353,15 +1366,17 @@ func (s *ScalewayUserdata) String() string {
13531366func (s * ScalewayAPI ) GetUserdata (serverID string , key string ) (* ScalewayUserdata , error ) {
13541367 var data ScalewayUserdata
13551368 var err error
1369+
13561370 resp , err := s .GetResponse ("servers/" + serverID + "/user_data/" + key )
13571371 if err != nil {
13581372 return nil , err
13591373 }
1374+ defer resp .Body .Close ()
1375+
13601376 if resp .StatusCode != 200 {
13611377 return nil , fmt .Errorf ("no such user_data %q (%d)" , key , resp .StatusCode )
13621378 }
13631379
1364- defer resp .Body .Close ()
13651380 data , err = ioutil .ReadAll (resp .Body )
13661381 return & data , err
13671382}
@@ -1407,6 +1422,7 @@ func (s *ScalewayAPI) DeleteUserdata(serverID string, key string) error {
14071422 if err != nil {
14081423 return err
14091424 }
1425+ defer resp .Body .Close ()
14101426
14111427 // Succeed POST code
14121428 if resp .StatusCode == 204 {
@@ -1423,6 +1439,7 @@ func (s *ScalewayAPI) GetTasks() (*[]ScalewayTask, error) {
14231439 return nil , err
14241440 }
14251441 defer resp .Body .Close ()
1442+
14261443 var tasks ScalewayTasks
14271444 decoder := json .NewDecoder (resp .Body )
14281445 err = decoder .Decode (& tasks )
@@ -1438,28 +1455,34 @@ func (s *ScalewayAPI) CheckCredentials() error {
14381455 defer s .DisableAccountAPI ()
14391456 query := url.Values {}
14401457 query .Set ("token_id" , s .Token )
1458+
14411459 resp , err := s .GetResponse ("tokens?" + query .Encode ())
14421460 if err != nil {
14431461 return err
14441462 }
1463+ defer resp .Body .Close ()
1464+
14451465 if resp .StatusCode != 200 {
14461466 return fmt .Errorf ("[%d] invalid credentials" , resp .StatusCode )
14471467 }
1468+
14481469 return nil
14491470}
14501471
14511472// GetUserID returns the userID
14521473func (s * ScalewayAPI ) GetUserID () (string , error ) {
14531474 s .EnableAccountAPI ()
14541475 defer s .DisableAccountAPI ()
1476+
14551477 resp , err := s .GetResponse (fmt .Sprintf ("tokens/%s" , s .Token ))
14561478 if err != nil {
14571479 return "" , err
14581480 }
1481+ defer resp .Body .Close ()
1482+
14591483 if resp .StatusCode != 200 {
14601484 return "" , fmt .Errorf ("[%d] invalid credentials" , resp .StatusCode )
14611485 }
1462- defer resp .Body .Close ()
14631486 var token ScalewayTokensDefinition
14641487
14651488 decoder := json .NewDecoder (resp .Body )
@@ -1474,17 +1497,19 @@ func (s *ScalewayAPI) GetUserID() (string, error) {
14741497func (s * ScalewayAPI ) GetOrganization () (* ScalewayOrganizationsDefinition , error ) {
14751498 s .EnableAccountAPI ()
14761499 defer s .DisableAccountAPI ()
1500+
14771501 resp , err := s .GetResponse ("organizations" )
14781502 if err != nil {
14791503 return nil , err
14801504 }
1505+ defer resp .Body .Close ()
1506+
14811507 if resp .StatusCode != 200 {
14821508 return nil , fmt .Errorf ("[%d] unable to GET" , resp .StatusCode )
14831509 }
14841510
14851511 var data ScalewayOrganizationsDefinition
14861512
1487- defer resp .Body .Close ()
14881513 decoder := json .NewDecoder (resp .Body )
14891514 err = decoder .Decode (& data )
14901515 if err != nil {
@@ -1501,14 +1526,16 @@ func (s *ScalewayAPI) GetUser() (*ScalewayUserDefinition, error) {
15011526 }
15021527 s .EnableAccountAPI ()
15031528 defer s .DisableAccountAPI ()
1529+
15041530 resp , err := s .GetResponse (fmt .Sprintf ("users/%s" , userID ))
15051531 if err != nil {
15061532 return nil , err
15071533 }
1534+ defer resp .Body .Close ()
1535+
15081536 if resp .StatusCode != 200 {
15091537 return nil , fmt .Errorf ("[%d] no such user" , resp .StatusCode )
15101538 }
1511- defer resp .Body .Close ()
15121539 var user ScalewayUsersDefinition
15131540
15141541 decoder := json .NewDecoder (resp .Body )
0 commit comments