瀏覽代碼

移除不必要的打印语句和测试代码

删除了多个文件中的fmt打印语句以减少日志噪音,并移除了server.go中用于测试的自定义响应写入器TestWriter及相关代码,简化了ServeHTTP方法的实现。
SongZihuan 3 月之前
父節點
當前提交
f4e925b64a
共有 4 個文件被更改,包括 29 次插入58 次删除
  1. 0 4
      src/server/core/normalserver.go
  2. 0 2
      src/server/core/redirect.go
  3. 3 26
      src/server/core/server.go
  4. 26 26
      src/server/responsewriter/writer.go

+ 0 - 4
src/server/core/normalserver.go

@@ -1,7 +1,6 @@
 package core
 
 import (
-	"fmt"
 	"github.com/SongZihuan/huan-proxy/src/config"
 	"github.com/SongZihuan/huan-proxy/src/config/rulescompile"
 	"github.com/SongZihuan/huan-proxy/src/server/context"
@@ -36,14 +35,11 @@ func (c *CoreServer) CoreServeHTTP(writer http.ResponseWriter, r *http.Request)
 				c.abortServerError(ctx)
 			}
 
-			fmt.Printf("ctx.Abort: %v\n", ctx.Abort)
-			fmt.Printf("config.GetConfig().NotAbort.IsEnable(false) = %v\n", config.GetConfig().NotAbort.IsEnable(false))
 			if ctx.Abort && config.GetConfig().NotAbort.IsEnable(false) {
 				_ = ctx.Reset()
 				continue RuleCycle
 			}
 
-			fmt.Println("TAG 6")
 			ctx.MustWriteToResponse()
 			return
 

+ 0 - 2
src/server/core/redirect.go

@@ -1,7 +1,6 @@
 package core
 
 import (
-	"fmt"
 	"github.com/SongZihuan/huan-proxy/src/config/rulescompile/actioncompile/rewritecompile"
 	"github.com/SongZihuan/huan-proxy/src/server/context"
 	"net/url"
@@ -15,7 +14,6 @@ func (c *CoreServer) redirectServer(ctx *context.Context) {
 		return
 	}
 
-	fmt.Printf("target: %s\n", target)
 	c.statusRedirect(ctx, target, ctx.Rule.Redirect.Code)
 }
 

+ 3 - 26
src/server/core/server.go

@@ -1,8 +1,6 @@
 package core
 
 import (
-	"errors"
-	"fmt"
 	"github.com/SongZihuan/huan-proxy/src/config"
 	"github.com/SongZihuan/huan-proxy/src/config/rulescompile"
 	"github.com/SongZihuan/huan-proxy/src/flagparser"
@@ -42,29 +40,8 @@ func (c *CoreServer) GetRulesList() []*rulescompile.RuleCompileConfig {
 	return c.GetRules().Rules
 }
 
-type TestWriter struct {
-	http.ResponseWriter
-}
-
-func (t *TestWriter) WriteHeader(statusCode int) {
-	fmt.Println("WRITE HEADER CALL")
-	t.ResponseWriter.WriteHeader(statusCode)
-}
-
-func (c *CoreServer) ServeHTTP(_w http.ResponseWriter, r *http.Request) {
-	w := &TestWriter{
-		ResponseWriter: _w,
-	}
-
+func (c *CoreServer) ServeHTTP(w http.ResponseWriter, r *http.Request) {
 	writer := responsewriter.NewResponseWriter(w)
-	writer.WriteHeader(http.StatusOK)
-	//
-	//c.logger.ServeHTTP(writer, r, c.CoreServeHTTP)
-	//
-	//fmt.Println("TAG 2")
-	err := writer.WriteToResponse()
-	if err != nil && !errors.Is(err, responsewriter.ErrHasWriter) {
-		fmt.Printf("Err: %s", err.Error())
-		//writer.ServerError()
-	}
+	c.logger.ServeHTTP(writer, r, c.CoreServeHTTP)
+	writer.MustWriteToResponse()
 }

+ 26 - 26
src/server/responsewriter/writer.go

@@ -91,7 +91,7 @@ func (r *ResponseWriter) Reset() error {
 
 	r.status = 0
 	r.buffer.Reset()
-	r.header = r.writer.Header()
+	r.header = r.writer.Header().Clone()
 	r.written = false
 
 	return nil
@@ -102,14 +102,11 @@ func (r *ResponseWriter) WriteToResponse() error {
 		return ErrHasWriter
 	}
 
-	if !r.writtenBody {
-		_, err := r.writer.Write(r.buffer.Bytes())
-		if err != nil {
-			return err
-		}
-		r.size = int64(r.buffer.Len())
-		r.buffer.Reset() // 清理
-		r.writtenBody = true
+	// status 抓鬼太吗最先写入
+	if !r.writtenStatus {
+		r.writer.WriteHeader(r.status)
+		r.writtenStatus = true
+		fmt.Printf("Write Status is: %d\n", r.status)
 	}
 
 	if !r.writtenHeader {
@@ -119,25 +116,28 @@ func (r *ResponseWriter) WriteToResponse() error {
 			copy(nh, h)
 			writerHeader[n] = nh
 		}
-		//
-		//	delHeader := make([]string, 0, 10)
-		//	for n, _ := range writerHeader {
-		//		if _, ok := r.header[n]; !ok {
-		//			delHeader = append(delHeader, n)
-		//		}
-		//	}
-		//
-		//	for _, n := range delHeader {
-		//		delete(writerHeader, n)
-		//	}
-		//	r.writtenHeader = false
+
+		delHeader := make([]string, 0, 10)
+		for n, _ := range writerHeader {
+			if _, ok := r.header[n]; !ok {
+				delHeader = append(delHeader, n)
+			}
+		}
+
+		for _, n := range delHeader {
+			delete(writerHeader, n)
+		}
+		r.writtenHeader = false
 	}
 
-	// status 放在最后写入
-	if !r.writtenStatus {
-		r.writer.WriteHeader(r.status)
-		r.writtenStatus = true
-		fmt.Printf("Write Status is: %d\n", r.status)
+	if !r.writtenBody {
+		_, err := r.writer.Write(r.buffer.Bytes())
+		if err != nil {
+			return err
+		}
+		r.size = int64(r.buffer.Len())
+		r.buffer.Reset() // 清理
+		r.writtenBody = true
 	}
 
 	r.written = true