diff --git a/cookie.go b/cookie.go
index <HASH>..<HASH> 100644
--- a/cookie.go
+++ b/cookie.go
@@ -18,6 +18,8 @@ var (
 )
 
 // Cookie represents HTTP response cookie.
+//
+// Do not copy Cookie obects. Create new obect and use CopyTo instead.
 type Cookie struct {
 	key    []byte
 	value  []byte
@@ -29,6 +31,16 @@ type Cookie struct {
 	buf   []byte
 }
 
+// CopyTo copies src cookie to c.
+func (c *Cookie) CopyTo(src *Cookie) {
+	c.Reset()
+	c.key = append(c.key[:0], src.key...)
+	c.value = append(c.value[:0], src.value...)
+	c.expire = src.expire
+	c.domain = append(c.domain[:0], src.domain...)
+	c.path = append(c.path[:0], src.path...)
+}
+
 // Path returns cookie path.
 func (c *Cookie) Path() []byte {
 	return c.path
Added CopyTo to Cookie for the sake of API consistency