Shifting common v1 functionality to root pkg
diff --git a/params.go b/params.go
index 0fcc1f0..a72aaed 100644
--- a/params.go
+++ b/params.go
@@ -244,3 +244,25 @@
// Return an error if the underlying type of 'opts' isn't a struct.
return optsMap, fmt.Errorf("Options type is not a struct.")
}
+
+// IDSliceToQueryString takes a slice of elements and converts them into a query
+// string. For example, if name=foo and slice=[]int{20, 40, 60}, then the
+// result would be `?name=20&name=40&name=60'
+func IDSliceToQueryString(name string, ids []int) string {
+ str := ""
+ for k, v := range ids {
+ if k == 0 {
+ str += "?"
+ } else {
+ str += "&"
+ }
+ str += fmt.Sprintf("%s=%s", name, strconv.Itoa(v))
+ }
+ return str
+}
+
+// IntWithinRange returns TRUE if an integer falls within a defined range, and
+// FALSE if not.
+func IntWithinRange(val, min, max int) bool {
+ return val > min && val < max
+}
diff --git a/rackspace/lb/v1/acl/requests.go b/rackspace/lb/v1/acl/requests.go
index d0623f5..e1e92ac 100644
--- a/rackspace/lb/v1/acl/requests.go
+++ b/rackspace/lb/v1/acl/requests.go
@@ -7,7 +7,6 @@
"github.com/racker/perigee"
"github.com/rackspace/gophercloud"
"github.com/rackspace/gophercloud/pagination"
- "github.com/rackspace/gophercloud/rackspace/lb/v1"
)
// List is the operation responsible for returning a paginated collection of
@@ -96,7 +95,7 @@
}
url := rootURL(c, loadBalancerID)
- url += v1.IDSliceToQueryString("id", itemIDs)
+ url += gophercloud.IDSliceToQueryString("id", itemIDs)
_, res.Err = perigee.Request("DELETE", url, perigee.Options{
MoreHeaders: c.AuthenticatedHeaders(),
diff --git a/rackspace/lb/v1/common.go b/rackspace/lb/v1/common.go
deleted file mode 100644
index 1f33709..0000000
--- a/rackspace/lb/v1/common.go
+++ /dev/null
@@ -1,28 +0,0 @@
-package v1
-
-import (
- "fmt"
- "strconv"
-)
-
-// IDSliceToQueryString takes a slice of elements and converts them into a query
-// string. For example, if name=foo and slice=[]int{20, 40, 60}, then the
-// result would be `?name=20&name=40&name=60'
-func IDSliceToQueryString(name string, ids []int) string {
- str := ""
- for k, v := range ids {
- if k == 0 {
- str += "?"
- } else {
- str += "&"
- }
- str += fmt.Sprintf("%s=%s", name, strconv.Itoa(v))
- }
- return str
-}
-
-// WithinRange returns TRUE if an integer falls within a defined range, and
-// FALSE if not.
-func WithinRange(val, min, max int) bool {
- return val > min && val < max
-}
diff --git a/rackspace/lb/v1/lbs/requests.go b/rackspace/lb/v1/lbs/requests.go
index 2d57520..eae54d1 100644
--- a/rackspace/lb/v1/lbs/requests.go
+++ b/rackspace/lb/v1/lbs/requests.go
@@ -8,7 +8,6 @@
"github.com/rackspace/gophercloud"
"github.com/rackspace/gophercloud/pagination"
- "github.com/rackspace/gophercloud/rackspace/lb/v1"
"github.com/rackspace/gophercloud/rackspace/lb/v1/acl"
"github.com/rackspace/gophercloud/rackspace/lb/v1/monitors"
"github.com/rackspace/gophercloud/rackspace/lb/v1/nodes"
@@ -271,7 +270,7 @@
}
url := rootURL(c)
- url += v1.IDSliceToQueryString("id", ids)
+ url += gophercloud.IDSliceToQueryString("id", ids)
_, res.Err = perigee.Request("DELETE", url, perigee.Options{
MoreHeaders: c.AuthenticatedHeaders(),
diff --git a/rackspace/lb/v1/monitors/requests.go b/rackspace/lb/v1/monitors/requests.go
index aa6ec5b..cfc35d2 100644
--- a/rackspace/lb/v1/monitors/requests.go
+++ b/rackspace/lb/v1/monitors/requests.go
@@ -6,7 +6,6 @@
"github.com/racker/perigee"
"github.com/rackspace/gophercloud"
- "github.com/rackspace/gophercloud/rackspace/lb/v1"
)
var (
@@ -41,13 +40,13 @@
func (opts UpdateConnectMonitorOpts) ToMonitorUpdateMap() (map[string]interface{}, error) {
type m map[string]interface{}
- if !v1.WithinRange(opts.AttemptLimit, 1, 10) {
+ if !gophercloud.IntWithinRange(opts.AttemptLimit, 1, 10) {
return m{}, errAttemptLimit
}
- if !v1.WithinRange(opts.Delay, 1, 3600) {
+ if !gophercloud.IntWithinRange(opts.Delay, 1, 3600) {
return m{}, errDelay
}
- if !v1.WithinRange(opts.Timeout, 1, 300) {
+ if !gophercloud.IntWithinRange(opts.Timeout, 1, 300) {
return m{}, errTimeout
}
@@ -95,13 +94,13 @@
func (opts UpdateHTTPMonitorOpts) ToMonitorUpdateMap() (map[string]interface{}, error) {
type m map[string]interface{}
- if !v1.WithinRange(opts.AttemptLimit, 1, 10) {
+ if !gophercloud.IntWithinRange(opts.AttemptLimit, 1, 10) {
return m{}, errAttemptLimit
}
- if !v1.WithinRange(opts.Delay, 1, 3600) {
+ if !gophercloud.IntWithinRange(opts.Delay, 1, 3600) {
return m{}, errDelay
}
- if !v1.WithinRange(opts.Timeout, 1, 300) {
+ if !gophercloud.IntWithinRange(opts.Timeout, 1, 300) {
return m{}, errTimeout
}
if opts.Type != HTTP && opts.Type != HTTPS {
diff --git a/rackspace/lb/v1/nodes/requests.go b/rackspace/lb/v1/nodes/requests.go
index 1c3765a..bfd0aed 100644
--- a/rackspace/lb/v1/nodes/requests.go
+++ b/rackspace/lb/v1/nodes/requests.go
@@ -7,7 +7,6 @@
"github.com/racker/perigee"
"github.com/rackspace/gophercloud"
"github.com/rackspace/gophercloud/pagination"
- "github.com/rackspace/gophercloud/rackspace/lb/v1"
)
// List is the operation responsible for returning a paginated collection of
@@ -146,7 +145,7 @@
}
url := rootURL(c, loadBalancerID)
- url += v1.IDSliceToQueryString("id", nodeIDs)
+ url += gophercloud.IDSliceToQueryString("id", nodeIDs)
_, res.Err = perigee.Request("DELETE", url, perigee.Options{
MoreHeaders: c.AuthenticatedHeaders(),
diff --git a/rackspace/lb/v1/vips/requests.go b/rackspace/lb/v1/vips/requests.go
index 7401362..42f0c1d 100644
--- a/rackspace/lb/v1/vips/requests.go
+++ b/rackspace/lb/v1/vips/requests.go
@@ -7,7 +7,6 @@
"github.com/rackspace/gophercloud"
"github.com/rackspace/gophercloud/pagination"
- "github.com/rackspace/gophercloud/rackspace/lb/v1"
)
// List is the operation responsible for returning a paginated collection of
@@ -92,7 +91,7 @@
}
url := rootURL(c, loadBalancerID)
- url += v1.IDSliceToQueryString("id", vipIDs)
+ url += gophercloud.IDSliceToQueryString("id", vipIDs)
_, res.Err = perigee.Request("DELETE", url, perigee.Options{
MoreHeaders: c.AuthenticatedHeaders(),