Skip to content

Commit 5e5c39d

Browse files
zhangzujianjtopjian
authored andcommitted
Service Client: add HEAD method (gophercloud#876)
* service client: add HEAD method * use the new HEAD() function in all HEAD calls * fix error
1 parent fc1122c commit 5e5c39d

File tree

6 files changed

+14
-5
lines changed

6 files changed

+14
-5
lines changed

Diff for: openstack/identity/v3/tokens/requests.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,7 @@ func Get(c *gophercloud.ServiceClient, token string) (r GetResult) {
133133

134134
// Validate determines if a specified token is valid or not.
135135
func Validate(c *gophercloud.ServiceClient, token string) (bool, error) {
136-
resp, err := c.Request("HEAD", tokenURL(c), &gophercloud.RequestOpts{
136+
resp, err := c.Head(tokenURL(c), &gophercloud.RequestOpts{
137137
MoreHeaders: subjectTokenHeaders(c, token),
138138
OkCodes: []int{200, 204, 404},
139139
})

Diff for: openstack/identity/v3/users/requests.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -272,7 +272,7 @@ func AddToGroup(client *gophercloud.ServiceClient, groupID, userID string) (r Ad
272272
func IsMemberOfGroup(client *gophercloud.ServiceClient, groupID, userID string) (r IsMemberOfGroupResult) {
273273
url := isMemberOfGroupURL(client, groupID, userID)
274274
var response *http.Response
275-
response, r.Err = client.Request("HEAD", url, &gophercloud.RequestOpts{
275+
response, r.Err = client.Head(url, &gophercloud.RequestOpts{
276276
OkCodes: []int{204, 404},
277277
})
278278
if r.Err == nil && response != nil {

Diff for: openstack/objectstorage/v1/accounts/requests.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ func Get(c *gophercloud.ServiceClient, opts GetOptsBuilder) (r GetResult) {
3535
h[k] = v
3636
}
3737
}
38-
resp, err := c.Request("HEAD", getURL(c), &gophercloud.RequestOpts{
38+
resp, err := c.Head(getURL(c), &gophercloud.RequestOpts{
3939
MoreHeaders: h,
4040
OkCodes: []int{204},
4141
})

Diff for: openstack/objectstorage/v1/containers/requests.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -180,7 +180,7 @@ func Update(c *gophercloud.ServiceClient, containerName string, opts UpdateOptsB
180180
// the custom metadata, pass the GetResult response to the ExtractMetadata
181181
// function.
182182
func Get(c *gophercloud.ServiceClient, containerName string) (r GetResult) {
183-
resp, err := c.Request("HEAD", getURL(c, containerName), &gophercloud.RequestOpts{
183+
resp, err := c.Head(getURL(c, containerName), &gophercloud.RequestOpts{
184184
OkCodes: []int{200, 204},
185185
})
186186
if resp != nil {

Diff for: openstack/objectstorage/v1/objects/requests.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -344,7 +344,7 @@ func Get(c *gophercloud.ServiceClient, containerName, objectName string, opts Ge
344344
}
345345
url += query
346346
}
347-
resp, err := c.Request("HEAD", url, &gophercloud.RequestOpts{
347+
resp, err := c.Head(url, &gophercloud.RequestOpts{
348348
OkCodes: []int{200, 204},
349349
})
350350
if resp != nil {

Diff for: service_client.go

+9
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,15 @@ func (client *ServiceClient) Delete(url string, opts *RequestOpts) (*http.Respon
112112
return client.Request("DELETE", url, opts)
113113
}
114114

115+
// Head calls `Request` with the "HEAD" HTTP verb.
116+
func (client *ServiceClient) Head(url string, opts *RequestOpts) (*http.Response, error) {
117+
if opts == nil {
118+
opts = new(RequestOpts)
119+
}
120+
client.initReqOpts(url, nil, nil, opts)
121+
return client.Request("HEAD", url, opts)
122+
}
123+
115124
func (client *ServiceClient) setMicroversionHeader(opts *RequestOpts) {
116125
switch client.Type {
117126
case "compute":

0 commit comments

Comments
 (0)