chore: simplify error handling code

This commit is contained in:
wwqgtxx
2026-04-13 15:42:48 +08:00
parent 9613f02a05
commit 20cb280c9d
+21 -28
View File
@@ -214,7 +214,6 @@ func NewClient(cfg *Config, makeTransport TransportMaker, makeDownloadTransport
cancel: cancel,
}
if cfg.ReuseConfig != nil {
var err error
client.uploadManager, err = NewReuseManager(cfg.ReuseConfig, makeTransport)
if err != nil {
return nil, err
@@ -317,7 +316,7 @@ func (c *Client) DialStreamOne() (net.Conn, error) {
}
req.Host = c.cfg.Host
if err := c.cfg.FillStreamRequest(req, ""); err != nil {
if err = c.cfg.FillStreamRequest(req, ""); err != nil {
_ = pr.Close()
_ = pw.Close()
httputils.CloseTransport(transport)
@@ -394,6 +393,25 @@ func (c *Client) DialStreamUp() (net.Conn, error) {
}
downloadReq.Host = downloadCfg.Host
uploadReq, err := http.NewRequestWithContext(
c.ctx,
http.MethodPost,
streamURL.String(),
pr,
)
if err != nil {
httputils.CloseTransport(uploadTransport)
httputils.CloseTransport(downloadTransport)
return nil, err
}
if err = c.cfg.FillStreamRequest(uploadReq, sessionID); err != nil {
httputils.CloseTransport(uploadTransport)
httputils.CloseTransport(downloadTransport)
return nil, err
}
uploadReq.Host = c.cfg.Host
downloadResp, err := downloadTransport.RoundTrip(downloadReq)
if err != nil {
httputils.CloseTransport(uploadTransport)
@@ -407,31 +425,6 @@ func (c *Client) DialStreamUp() (net.Conn, error) {
return nil, fmt.Errorf("xhttp stream-up download bad status: %s", downloadResp.Status)
}
uploadReq, err := http.NewRequestWithContext(
c.ctx,
http.MethodPost,
streamURL.String(),
pr,
)
if err != nil {
_ = downloadResp.Body.Close()
_ = pr.Close()
_ = pw.Close()
httputils.CloseTransport(uploadTransport)
httputils.CloseTransport(downloadTransport)
return nil, err
}
if err := c.cfg.FillStreamRequest(uploadReq, sessionID); err != nil {
_ = downloadResp.Body.Close()
_ = pr.Close()
_ = pw.Close()
httputils.CloseTransport(uploadTransport)
httputils.CloseTransport(downloadTransport)
return nil, err
}
uploadReq.Host = c.cfg.Host
go func() {
resp, err := uploadTransport.RoundTrip(uploadReq)
if err != nil {
@@ -497,7 +490,7 @@ func (c *Client) DialPacketUp() (net.Conn, error) {
httputils.CloseTransport(downloadTransport)
return nil, err
}
if err := downloadCfg.FillDownloadRequest(downloadReq, sessionID); err != nil {
if err = downloadCfg.FillDownloadRequest(downloadReq, sessionID); err != nil {
httputils.CloseTransport(uploadTransport)
httputils.CloseTransport(downloadTransport)
return nil, err