Browse Source

refactor trojan WriteHeader function.

Shelikhoo 2 years ago
parent
commit
680d5bb2ac
1 changed files with 10 additions and 1 deletions
  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()