Adjust callers to match.
diff --git a/openstack/identity/v3/endpoints/requests.go b/openstack/identity/v3/endpoints/requests.go
index 7fc4544..bf60406 100644
--- a/openstack/identity/v3/endpoints/requests.go
+++ b/openstack/identity/v3/endpoints/requests.go
@@ -109,8 +109,16 @@
q["per_page"] = strconv.Itoa(opts.Page)
}
+ countPage := func(p gophercloud.Page) (int, error) {
+ es, err := ExtractEndpoints(p)
+ if err != nil {
+ return 0, err
+ }
+ return len(es), nil
+ }
+
u := getListURL(client) + utils.BuildQuery(q)
- return gophercloud.NewLinkedPager(client, u)
+ return gophercloud.NewLinkedPager(client, u, countPage)
}
// Update changes an existing endpoint with new data.
diff --git a/openstack/identity/v3/endpoints/requests_test.go b/openstack/identity/v3/endpoints/requests_test.go
index f988770..84cb2da 100644
--- a/openstack/identity/v3/endpoints/requests_test.go
+++ b/openstack/identity/v3/endpoints/requests_test.go
@@ -91,6 +91,7 @@
testhelper.TestMethod(t, r, "GET")
testhelper.TestHeader(t, r, "X-Auth-Token", tokenID)
+ w.Header().Add("Content-Type", "application/json")
fmt.Fprintf(w, `
{
"endpoints": [
diff --git a/openstack/identity/v3/services/requests.go b/openstack/identity/v3/services/requests.go
index 34df63f..7bc4a82 100644
--- a/openstack/identity/v3/services/requests.go
+++ b/openstack/identity/v3/services/requests.go
@@ -55,7 +55,15 @@
}
u := getListURL(client) + utils.BuildQuery(q)
- return gophercloud.NewLinkedPager(client, u)
+ countPage := func(p gophercloud.Page) (int, error) {
+ services, err := ExtractServices(p)
+ if err != nil {
+ return 0, err
+ }
+ return len(services), nil
+ }
+
+ return gophercloud.NewLinkedPager(client, u, countPage)
}
// Get returns additional information about a service, given its ID.