lfsapi/client.go: move sshResolveWithRetries down

This commit is contained in:
Taylor Blau 2018-06-28 13:04:16 -05:00
parent d9a4a1b550
commit cf0e4e2ad2

@ -27,30 +27,6 @@ var (
httpRE = regexp.MustCompile(`\Ahttps?://`) httpRE = regexp.MustCompile(`\Ahttps?://`)
) )
func (c *Client) sshResolveWithRetries(e Endpoint, method string) (*sshAuthResponse, error) {
var sshRes sshAuthResponse
var err error
requests := tools.MaxInt(0, c.sshTries) + 1
for i := 0; i < requests; i++ {
sshRes, err = c.SSH.Resolve(e, method)
if err == nil {
return &sshRes, nil
}
tracerx.Printf(
"ssh: %s failed, error: %s, message: %s (try: %d/%d)",
e.SshUserAndHost, err.Error(), sshRes.Message, i,
requests,
)
}
if len(sshRes.Message) > 0 {
return nil, errors.Wrap(err, sshRes.Message)
}
return nil, err
}
func (c *Client) NewRequest(method string, e Endpoint, suffix string, body interface{}) (*http.Request, error) { func (c *Client) NewRequest(method string, e Endpoint, suffix string, body interface{}) (*http.Request, error) {
sshRes, err := c.sshResolveWithRetries(e, method) sshRes, err := c.sshResolveWithRetries(e, method)
if err != nil { if err != nil {
@ -123,6 +99,30 @@ func (c *Client) Close() error {
return c.httpLogger.Close() return c.httpLogger.Close()
} }
func (c *Client) sshResolveWithRetries(e Endpoint, method string) (*sshAuthResponse, error) {
var sshRes sshAuthResponse
var err error
requests := tools.MaxInt(0, c.sshTries) + 1
for i := 0; i < requests; i++ {
sshRes, err = c.SSH.Resolve(e, method)
if err == nil {
return &sshRes, nil
}
tracerx.Printf(
"ssh: %s failed, error: %s, message: %s (try: %d/%d)",
e.SshUserAndHost, err.Error(), sshRes.Message, i,
requests,
)
}
if len(sshRes.Message) > 0 {
return nil, errors.Wrap(err, sshRes.Message)
}
return nil, err
}
func (c *Client) extraHeadersFor(req *http.Request) http.Header { func (c *Client) extraHeadersFor(req *http.Request) http.Header {
extraHeaders := c.extraHeaders(req.URL) extraHeaders := c.extraHeaders(req.URL)
if len(extraHeaders) == 0 { if len(extraHeaders) == 0 {