Use gophercloud.Result in objectstorage.
diff --git a/openstack/objectstorage/v1/objects/requests.go b/openstack/objectstorage/v1/objects/requests.go
index 3274e04..c97b4fe 100644
--- a/openstack/objectstorage/v1/objects/requests.go
+++ b/openstack/objectstorage/v1/objects/requests.go
@@ -3,6 +3,7 @@
 import (
 	"fmt"
 	"io"
+	"io/ioutil"
 	"time"
 
 	"github.com/racker/perigee"
@@ -128,8 +129,13 @@
 		MoreHeaders: h,
 		OkCodes:     []int{200},
 	})
+	defer resp.HttpResponse.Body.Close()
+	body, err := ioutil.ReadAll(resp.HttpResponse.Body)
+	res.Resp = map[string]interface{}{
+		"body": body,
+	}
 	res.Err = err
-	res.Resp = &resp.HttpResponse
+	res.Headers = resp.HttpResponse.Header
 	return res
 }
 
@@ -214,7 +220,7 @@
 		MoreHeaders: h,
 		OkCodes:     []int{201},
 	})
-	res.Resp = &resp.HttpResponse
+	res.Headers = resp.HttpResponse.Header
 	res.Err = err
 	return res
 }
@@ -270,7 +276,7 @@
 		MoreHeaders: h,
 		OkCodes:     []int{201},
 	})
-	res.Resp = &resp.HttpResponse
+	res.Headers = resp.HttpResponse.Header
 	return res
 }
 
@@ -312,7 +318,7 @@
 		MoreHeaders: c.Provider.AuthenticatedHeaders(),
 		OkCodes:     []int{204},
 	})
-	res.Resp = &resp.HttpResponse
+	res.Headers = resp.HttpResponse.Header
 	res.Err = err
 	return res
 }
@@ -357,8 +363,8 @@
 		MoreHeaders: c.Provider.AuthenticatedHeaders(),
 		OkCodes:     []int{200, 204},
 	})
+	res.Headers = resp.HttpResponse.Header
 	res.Err = err
-	res.Resp = &resp.HttpResponse
 	return res
 }
 
@@ -414,7 +420,7 @@
 		MoreHeaders: h,
 		OkCodes:     []int{202},
 	})
-	res.Resp = &resp.HttpResponse
+	res.Headers = resp.HttpResponse.Header
 	res.Err = err
 	return res
 }