diff --git a/context.go b/context.go index d246ce3..6479a69 100644 --- a/context.go +++ b/context.go @@ -23,7 +23,7 @@ import ( "github.com/fenthope/reco" "github.com/go-json-experiment/json" - "github.com/WJQSERVER-STUDIO/go-utils/iox" + "github.com/WJQSERVER-STUDIO/go-utils/copyb" "github.com/WJQSERVER-STUDIO/httpc" ) @@ -271,13 +271,6 @@ func (c *Context) String(code int, format string, values ...interface{}) { c.Writer.Write([]byte(fmt.Sprintf(format, values...))) } -// Text 向响应写入无需格式化的string -func (c *Context) Text(code int, text string) { - c.Writer.Header().Set("Content-Type", "text/plain; charset=utf-8") - c.Writer.WriteHeader(code) - c.Writer.Write([]byte(text)) -} - // JSON 向响应写入 JSON 数据 // 设置 Content-Type 为 application/json func (c *Context) JSON(code int, obj interface{}) { @@ -431,7 +424,7 @@ func (c *Context) WriteStream(reader io.Reader) (written int64, err error) { c.Writer.WriteHeader(http.StatusOK) // 默认 200 OK } - written, err = iox.Copy(c.Writer, reader) // 从 reader 读取并写入 ResponseWriter + written, err = copyb.Copy(c.Writer, reader) // 从 reader 读取并写入 ResponseWriter if err != nil { c.AddError(fmt.Errorf("failed to write stream: %w", err)) } @@ -471,7 +464,7 @@ func (c *Context) GetReqBodyFull() ([]byte, error) { }() } - data, err := iox.ReadAll(limitBytesReader) + data, err := copyb.ReadAll(limitBytesReader) if err != nil { c.AddError(fmt.Errorf("failed to read request body: %w", err)) return nil, fmt.Errorf("failed to read request body: %w", err) @@ -505,7 +498,7 @@ func (c *Context) GetReqBodyBuffer() (*bytes.Buffer, error) { }() } - data, err := iox.ReadAll(limitBytesReader) + data, err := copyb.ReadAll(limitBytesReader) if err != nil { c.AddError(fmt.Errorf("failed to read request body: %w", err)) return nil, fmt.Errorf("failed to read request body: %w", err) @@ -678,7 +671,7 @@ func (c *Context) SetBodyStream(reader io.Reader, contentSize int) { // 将 reader 的内容直接复制到 ResponseWriter // ResponseWriter 实现了 io.Writer 接口 - _, err := iox.Copy(c.Writer, reader) + _, err := copyb.Copy(c.Writer, reader) if err != nil { c.AddError(fmt.Errorf("failed to write stream: %w", err)) // 注意:这里可能无法设置错误状态码,因为头部可能已经发送 @@ -737,7 +730,7 @@ func (c *Context) SetRespBodyFile(code int, filePath string) { c.Writer.WriteHeader(code) // 将文件内容写入响应体 - _, err = iox.Copy(c.Writer, file) + _, err = copyb.Copy(c.Writer, file) if err != nil { c.AddError(fmt.Errorf("failed to write file %s to response: %w", cleanPath, err)) // 注意:这里可能无法设置错误状态码,因为头部可能已经发送 diff --git a/go.mod b/go.mod index 6b14b15..a3af682 100644 --- a/go.mod +++ b/go.mod @@ -3,14 +3,10 @@ module github.com/infinite-iroha/touka go 1.24.4 require ( - github.com/WJQSERVER-STUDIO/go-utils/iox v0.0.2 - github.com/WJQSERVER-STUDIO/httpc v0.8.1 + github.com/WJQSERVER-STUDIO/go-utils/copyb v0.0.6 + github.com/WJQSERVER-STUDIO/httpc v0.8.0 github.com/fenthope/reco v0.0.3 github.com/go-json-experiment/json v0.0.0-20250714165856-be8212f5270d ) -require ( - github.com/WJQSERVER-STUDIO/go-utils/copyb v0.0.6 // indirect - github.com/valyala/bytebufferpool v1.0.0 // indirect - golang.org/x/net v0.42.0 // indirect -) +require github.com/valyala/bytebufferpool v1.0.0 // indirect diff --git a/go.sum b/go.sum index 0302b36..896c53c 100644 --- a/go.sum +++ b/go.sum @@ -1,14 +1,10 @@ github.com/WJQSERVER-STUDIO/go-utils/copyb v0.0.6 h1:/50VJYXd6jcu+p5BnEBDyiX0nAyGxas1W3DCnrYMxMY= github.com/WJQSERVER-STUDIO/go-utils/copyb v0.0.6/go.mod h1:FZ6XE+4TKy4MOfX1xWKe6Rwsg0ucYFCdNh1KLvyKTfc= -github.com/WJQSERVER-STUDIO/go-utils/iox v0.0.2 h1:AiIHXP21LpK7pFfqUlUstgQEWzjbekZgxOuvVwiMfyM= -github.com/WJQSERVER-STUDIO/go-utils/iox v0.0.2/go.mod h1:mCLqYU32bTmEE6dpj37MKKiZgz70Jh/xyK9vVbq6pok= -github.com/WJQSERVER-STUDIO/httpc v0.8.1 h1:/eG8aYKL3WfQILIRbG+cbzQjPkNHEPTqfGUdQS5rtI4= -github.com/WJQSERVER-STUDIO/httpc v0.8.1/go.mod h1:mxXBf2hqbQGNHkVy/7wfU7Xi2s09MyZpbY2hyR+4uD4= +github.com/WJQSERVER-STUDIO/httpc v0.8.0 h1:G7inJ5EEsg5+BkeFiNIo/6+Mj7Ygiq85yMT3Ld7frJY= +github.com/WJQSERVER-STUDIO/httpc v0.8.0/go.mod h1:50297rvgppmgPbZEtWzTWgkomoqPREkGy9T3Y/NqN7o= github.com/fenthope/reco v0.0.3 h1:RmnQ0D9a8PWtwOODawitTe4BztTnS9wYwrDbipISNq4= github.com/fenthope/reco v0.0.3/go.mod h1:mDkGLHte5udWTIcjQTxrABRcf56SSdxBOCLgrRDwI/Y= github.com/go-json-experiment/json v0.0.0-20250714165856-be8212f5270d h1:+d6m5Bjvv0/RJct1VcOw2P5bvBOGjENmxORJYnSYDow= github.com/go-json-experiment/json v0.0.0-20250714165856-be8212f5270d/go.mod h1:TiCD2a1pcmjd7YnhGH0f/zKNcCD06B029pHhzV23c2M= github.com/valyala/bytebufferpool v1.0.0 h1:GqA5TC/0021Y/b9FG4Oi9Mr3q7XYx6KllzawFIhcdPw= github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc= -golang.org/x/net v0.42.0 h1:jzkYrhi3YQWD6MLBJcsklgQsoAcw89EcZbJw8Z614hs= -golang.org/x/net v0.42.0/go.mod h1:FF1RA5d3u7nAYA4z2TkclSCKh68eSXtiFwcWQpPXdt8=