Use gophercloud.ServiceClient in storage V1.
diff --git a/openstack/storage/v1/objects/requests.go b/openstack/storage/v1/objects/requests.go
index 4e6f23a..bb9c4ac 100644
--- a/openstack/storage/v1/objects/requests.go
+++ b/openstack/storage/v1/objects/requests.go
@@ -2,10 +2,11 @@
 
 import (
 	"fmt"
-	"github.com/racker/perigee"
-	storage "github.com/rackspace/gophercloud/openstack/storage/v1"
-	"github.com/rackspace/gophercloud/openstack/utils"
 	"net/http"
+
+	"github.com/racker/perigee"
+	"github.com/rackspace/gophercloud"
+	"github.com/rackspace/gophercloud/openstack/utils"
 )
 
 // ListResult is a *http.Response that is returned from a call to the List function.
@@ -20,13 +21,10 @@
 // List is a function that retrieves all objects in a container. It also returns the details
 // for the container. To extract only the object information or names, pass the ListResult
 // response to the ExtractInfo or ExtractNames function, respectively.
-func List(c *storage.Client, opts ListOpts) (ListResult, error) {
+func List(c *gophercloud.ServiceClient, opts ListOpts) (ListResult, error) {
 	contentType := ""
 
-	h, err := c.GetHeaders()
-	if err != nil {
-		return nil, err
-	}
+	h := c.Provider.AuthenticatedHeaders()
 
 	query := utils.BuildQuery(opts.Params)
 
@@ -45,11 +43,8 @@
 // Download is a function that retrieves the content and metadata for an object.
 // To extract just the content, pass the DownloadResult response to the ExtractContent
 // function.
-func Download(c *storage.Client, opts DownloadOpts) (DownloadResult, error) {
-	h, err := c.GetHeaders()
-	if err != nil {
-		return nil, err
-	}
+func Download(c *gophercloud.ServiceClient, opts DownloadOpts) (DownloadResult, error) {
+	h := c.Provider.AuthenticatedHeaders()
 
 	for k, v := range opts.Headers {
 		h[k] = v
@@ -65,13 +60,10 @@
 }
 
 // Create is a function that creates a new object or replaces an existing object.
-func Create(c *storage.Client, opts CreateOpts) error {
+func Create(c *gophercloud.ServiceClient, opts CreateOpts) error {
 	var reqBody []byte
 
-	h, err := c.GetHeaders()
-	if err != nil {
-		return err
-	}
+	h := c.Provider.AuthenticatedHeaders()
 
 	for k, v := range opts.Headers {
 		h[k] = v
@@ -86,7 +78,7 @@
 	content := opts.Content
 	if content != nil {
 		reqBody = make([]byte, 0)
-		_, err = content.Read(reqBody)
+		_, err := content.Read(reqBody)
 		if err != nil {
 			return err
 		}
@@ -101,11 +93,8 @@
 }
 
 // Copy is a function that copies one object to another.
-func Copy(c *storage.Client, opts CopyOpts) error {
-	h, err := c.GetHeaders()
-	if err != nil {
-		return err
-	}
+func Copy(c *gophercloud.ServiceClient, opts CopyOpts) error {
+	h := c.Provider.AuthenticatedHeaders()
 
 	for k, v := range opts.Metadata {
 		h["X-Object-Meta-"+k] = v
@@ -121,11 +110,8 @@
 }
 
 // Delete is a function that deletes an object.
-func Delete(c *storage.Client, opts DeleteOpts) error {
-	h, err := c.GetHeaders()
-	if err != nil {
-		return err
-	}
+func Delete(c *gophercloud.ServiceClient, opts DeleteOpts) error {
+	h := c.Provider.AuthenticatedHeaders()
 
 	query := utils.BuildQuery(opts.Params)
 
@@ -138,29 +124,24 @@
 
 // Get is a function that retrieves the metadata of an object. To extract just the custom
 // metadata, pass the GetResult response to the ExtractMetadata function.
-func Get(c *storage.Client, opts GetOpts) (GetResult, error) {
-	h, err := c.GetHeaders()
-	if err != nil {
-		return nil, err
-	}
+func Get(c *gophercloud.ServiceClient, opts GetOpts) (GetResult, error) {
+	h := c.Provider.AuthenticatedHeaders()
 
 	for k, v := range opts.Headers {
 		h[k] = v
 	}
 
-	url := c.GetObjectURL(opts.Container, opts.Name)
+	url := getObjectURL(c, opts.Container, opts.Name)
 	resp, err := perigee.Request("HEAD", url, perigee.Options{
 		MoreHeaders: h,
+		OkCodes:     []int{204},
 	})
 	return &resp.HttpResponse, err
 }
 
 // Update is a function that creates, updates, or deletes an object's metadata.
-func Update(c *storage.Client, opts UpdateOpts) error {
-	h, err := c.GetHeaders()
-	if err != nil {
-		return err
-	}
+func Update(c *gophercloud.ServiceClient, opts UpdateOpts) error {
+	h := c.Provider.AuthenticatedHeaders()
 
 	for k, v := range opts.Headers {
 		h[k] = v