瀏覽代碼

Merge pull request #8 from Shopify/compress-once-only

Only compress a message once
Evan Huus 12 年之前
父節點
當前提交
0d0b1106bd
共有 1 個文件被更改,包括 6 次插入6 次删除
  1. 6 6
      message.go

+ 6 - 6
message.go

@@ -40,25 +40,25 @@ func (m *Message) encode(pe packetEncoder) error {
 		return err
 	}
 
-	var body []byte
 	switch m.Codec {
-	case COMPRESSION_NONE:
-		body = m.Value
 	case COMPRESSION_GZIP:
 		if m.Value != nil {
 			var buf bytes.Buffer
 			writer := gzip.NewWriter(&buf)
 			writer.Write(m.Value)
 			writer.Close()
-			body = buf.Bytes()
+			m.Value = buf.Bytes()
+			m.Codec = COMPRESSION_NONE
 		}
 	case COMPRESSION_SNAPPY:
-		body, err = snappy.Encode(nil, m.Value)
+		tmp, err := snappy.Encode(nil, m.Value)
 		if err != nil {
 			return err
 		}
+		m.Value = tmp
+		m.Codec = COMPRESSION_NONE
 	}
-	err = pe.putBytes(body)
+	err = pe.putBytes(m.Value)
 	if err != nil {
 		return err
 	}