瀏覽代碼

refactor trojan WriteHeader function.

Shelikhoo 2 年之前
父節點
當前提交
680d5bb2ac
共有 1 個文件被更改,包括 10 次插入1 次删除
  1. 10 1
      proxy/trojan/protocol.go

+ 10 - 1
proxy/trojan/protocol.go

@@ -37,7 +37,7 @@ type ConnWriter struct {
 // Write implements io.Writer
 func (c *ConnWriter) Write(p []byte) (n int, err error) {
 	if !c.headerSent {
-		if err := c.WriteHeader(); err != nil {
+		if err := c.writeHeader(); err != nil {
 			return 0, newError("failed to write request header").Base(err)
 		}
 	}
@@ -61,6 +61,15 @@ func (c *ConnWriter) WriteMultiBuffer(mb buf.MultiBuffer) error {
 }
 
 func (c *ConnWriter) WriteHeader() error {
+	if !c.headerSent {
+		if err := c.writeHeader(); err != nil {
+			return err
+		}
+	}
+	return nil
+}
+
+func (c *ConnWriter) writeHeader() error {
 	buffer := buf.StackNew()
 	defer buffer.Release()