Files
1Panel/agent/utils/cloud_storage/client/helper.go
ssongliu 1ab3da1fab fix: apply timeout to snapshot uploads (#13275)
* fix: apply timeout to snapshot uploads

* fix: honor snapshot upload timeouts for sftp and upyun
2026-07-16 11:21:26 +08:00

33 lines
694 B
Go

package client
import (
"context"
"fmt"
"net/http"
"github.com/1Panel-dev/1Panel/agent/global"
)
type deadlineTransport struct {
ctx context.Context
base http.RoundTripper
}
func (t deadlineTransport) RoundTrip(req *http.Request) (*http.Response, error) {
if err := t.ctx.Err(); err != nil {
return nil, err
}
return t.base.RoundTrip(req.Clone(t.ctx))
}
func loadParamFromVars(key string, vars map[string]interface{}) string {
if _, ok := vars[key]; !ok {
if key != "bucket" && key != "port" && key != "authMode" && key != "passPhrase" {
global.LOG.Errorf("load param %s from vars failed, err: not exist!", key)
}
return ""
}
return fmt.Sprintf("%v", vars[key])
}