update_http_write

This commit is contained in:
Your Name 2024-07-27 15:08:50 +05:30
parent 327df8cab6
commit 8bc926bc83

View File

@ -70,17 +70,21 @@ func (c *HTTPConn) Read(b []byte) (n int, err error) {
func (c *HTTPConn) Write(b []byte) (int, error) { func (c *HTTPConn) Write(b []byte) (int, error) {
if !c.requestWritten { if !c.requestWritten {
err := c.writeRequest(b) err := c.writeRequest()
if err != nil { if err != nil {
return 0, E.Cause(err, "write request") return 0, E.Cause(err, "write request")
} }
c.requestWritten = true for !c.requestWritten {
return len(b), nil if c.requestWritten {
break
}
}
return c.Conn.Write(b)
} }
return c.Conn.Write(b) return c.Conn.Write(b)
} }
func (c *HTTPConn) writeRequest(payload []byte) error { func (c *HTTPConn) writeRequest() error {
writer := bufio.NewBufferedWriter(c.Conn, buf.New()) writer := bufio.NewBufferedWriter(c.Conn, buf.New())
const CRLF = "\r\n" const CRLF = "\r\n"
_, err := writer.Write([]byte(F.ToString(c.request.Method, " ", c.request.URL.RequestURI(), " HTTP/1.1", CRLF))) _, err := writer.Write([]byte(F.ToString(c.request.Method, " ", c.request.URL.RequestURI(), " HTTP/1.1", CRLF)))
@ -100,7 +104,8 @@ func (c *HTTPConn) writeRequest(payload []byte) error {
if err != nil { if err != nil {
return err return err
} }
_, err = writer.Write(payload) newpayLoad := []byte{}
_, err = writer.Write(newpayLoad)
if err != nil { if err != nil {
return err return err
} }
@ -108,6 +113,7 @@ func (c *HTTPConn) writeRequest(payload []byte) error {
if err != nil { if err != nil {
return err return err
} }
c.requestWritten = true
return nil return nil
} }