github.com/chnsz/golangsdk@v0.0.0-20240506093406-85a3fbfa605b/openstack/cse/dedicated/v4/auth/requests.go (about)

     1  package auth
     2  
     3  import (
     4  	"github.com/chnsz/golangsdk"
     5  )
     6  
     7  // CreateOpts is the structure required by the Create method to create a token for connecting to the engine.
     8  type CreateOpts struct {
     9  	// Account name.
    10  	Name string `json:"name" required:"true"`
    11  	// Account password.
    12  	Password string `json:"password" required:"true"`
    13  }
    14  
    15  // Create is a method to create a token using given parameters.
    16  func Create(c *golangsdk.ServiceClient, opts CreateOpts) (*CreateResp, error) {
    17  	b, err := golangsdk.BuildRequestBody(opts, "")
    18  	if err != nil {
    19  		return nil, err
    20  	}
    21  
    22  	var r CreateResp
    23  	_, err = c.Post(rootURL(c), b, &r, nil)
    24  	return &r, err
    25  }
    26  
    27  // BuildMoreHeaderUsingToken is a method to build a specified request header using given token.
    28  func BuildMoreHeaderUsingToken(c *golangsdk.ServiceClient, token string) map[string]string {
    29  	moreHeader := map[string]string{
    30  		"Content-Type": "application/json",
    31  		"X-Language":   "en-us",
    32  	}
    33  
    34  	if token != "" {
    35  		moreHeader["Authorization"] = token
    36  	}
    37  	return moreHeader
    38  }