github.com/pivotal-cf/go-pivnet/v6@v6.0.2/release_types.go (about)

     1  package pivnet
     2  
     3  import (
     4  	"fmt"
     5  	"net/http"
     6  	"encoding/json"
     7  )
     8  
     9  type ReleaseTypesService struct {
    10  	client Client
    11  }
    12  
    13  type ReleaseType string
    14  
    15  type ReleaseTypesResponse struct {
    16  	ReleaseTypes []ReleaseType `json:"release_types" yaml:"release_types"`
    17  }
    18  
    19  func (r ReleaseTypesService) Get() ([]ReleaseType, error) {
    20  	url := fmt.Sprintf("/releases/release_types")
    21  
    22  	var response ReleaseTypesResponse
    23  	resp, err := r.client.MakeRequest(
    24  		"GET",
    25  		url,
    26  		http.StatusOK,
    27  		nil,
    28  	)
    29  	if err != nil {
    30  		return nil, err
    31  	}
    32  	defer resp.Body.Close()
    33  
    34  	err = json.NewDecoder(resp.Body).Decode(&response)
    35  	if err != nil {
    36  		return nil, err
    37  	}
    38  
    39  	return response.ReleaseTypes, nil
    40  }