v1.22.0
Changelog
- 3d109c3 (Cmd).follow: debug failed client.Do(req)
- 5ef0ca5 (Cmd).runTotalBar help func
- 6219a89 ReadFull loop exit condition n != bufLen
- 6074d25 ReadFull loop: EOF check is redundant n == 0 implies it's EOF
- d309e14 Show HTTP response headers in DEBUG output
- 0e42da2 a bit more appealing max retry err message
- 00a6ff1 abort bar if cannot retry because of BasHttpStatus
- d0408d1 alow infinite redirections
- e3b0b28 always bar.Wait() on retry false
- bce7d12 always debug retry and error status
- 97ba26c always quit signal listener goroutine
- 592be21 assign CheckRedirect func at client construction
- 122527f assign short -u for user-agent
- e22f618 backoff.RetryWithContext: refactoring defer
- 80b0931 bar.Abort in defer only
- 4f328bd bar.Abort outside of defer
- 1dc2a44 better handling of non resumable
- c21ed40 check flags.Error condition outside of getState
- 5ad3d8e check for ErrCanceledByUser after successful term.ReadPassword(0)
- 1fb72c6 check for io.ErrUnexpectedEOF in for condition
- 0b459c7 check httpStatus200 before any session op
- 1aa7f3a cmd.options.UserAgent is always preffered over restored.HeaderMap[hUserAgentKey]
- 2a9aa96 concatenateParts conditions in one if statement
- bc1ed9e const umask = 0644
- cb09a48 debug which part get status 200
- 163c462 decrement &globTry first
- 08a26b2 defer stateHandler uncoditionally
- 94ea174 defer: debug retry log last
- 7c9e741 define *http.Client on Part struct
- f547538 delete key we don't want to cancel
- 3b4cc2e don't call p.incrTotalBar(wn) if wn is zero
- 787c46d don't reset cmd.Out
- 23efd4c dont' nil cmd.parser
- 36fad69 drop redundant assertion
- 5e3d373 drop redundant p.isDone() check
- 3c25096 drop unnecessary cmd.Ctx.Err() check
- 239f1f1 edit description of some options
- d910ecf errors.Wrap is more appropriate here
- c039fe6 exit folow loop on ErrMaxRedirect
- 96f61c9 extra fields on *Part
- 57225da follow: debug all http responses
- dbf76c6 follow: get log template=GET:R%02d
- 356656f getState: invert if os.Stat statement for better readability
- dd22dfa getState: no need for args param
- 616b934 go get -u
- cada1ec golangci-lint
- 0c91acc handle ContentLength=0 correctly
- 25a1671 handle error of resp.Body.Close()
- 2bc1031 https options group
- c23c5c3 if err isn't one of EOF after part is done return it
- 89d5f59 if session isn't resumable debug it as well
- 677a298 include timeout in get debug log
- 7eb0a04 log debug GET messages as well
- cc8e8f3 log err.Error() if err is non nil
- 19aabf5 make short user-agent flag capital
- 1e8ee25 make sure read's n is not shadowed
- 284f533 map cancel funcs for further processing
- 75b1fec max-redirect option
- df8ac7a never override cmd.Err
- 88ed0d7 no need for httpStatusOK in Part struct
- 7dc76de no need to debug ContentLength
- 129bb2c no need to store cancel on Part struct
- ae87b72 one debug msg in case of timeout
- ecd50ea override log prefix
- 7578028 overwriteIfConfirmed: always debug removing
- 88e2fd1 overwriteIfConfirmed: check for ErrCanceledByUser before removing
- 56d51bd prefer p.FileName
- 4f973d4 prefer println without '%s' where possible
- 880c819 prefix req headers as resp does
- 54360f9 prefix timeout message with p.name
- d604386 print err to p.progress on each retry
- 6ef1c6f print retry err to p.progress in defer
- 6495652 print wrapped ErrMaxRetry
- 4e9f83e proper file name handling for single part
- 21097f9 read friendly debug
- a979059 refactoring (Session).summary
- 0a0d50e refactoring cookie debug
- 22ddc2e refactoring newRoundTripperBuilder
- 63f3b3b refactoring: (Cmd).initTotalBar
- 4f2dcb8 refactoring: (Session).summary prefer switch to if
- 45aee25 refactoring: Part.openAsDst
- d2cc7c4 refactoring: Part.writeTo
- b4f49e8 refactoring: best mirror
- 97f320f refactoring: best mirror group
- f3c83e5 refactoring: check ErrCanceledByUser
- 0c1a08d refactoring: close fpart at one place
- 6f32ae5 refactoring: init debug logger in (*Part).download
- f0434ff refactoring: log "Saving to" outside of (Session).summary
- 6759c41 refactoring: pass maxTry as arg to (*Part).download
- 67f6ea9 refactoring: pass session.OutputName as arg to (*Part).download
- bea835d refactoring: proper handling of http status 200
- e38a346 refactoring: rename dlogger to logger
- 35a0e56 refactoring: rename to Session.OutputName
- 1e79a35 refactoring: rename to firstErr
- 0803848 refactoring: type http200Context struct
- 47f0047 refactoring: unwrapOrErr
- d4b050f relevant wrap message for ErrMaxRetry
- 34c68d3 remaining args aren't needed after cmd.parser.ParseArgs(args)
- a3e3828 rename HttpError to BadHttpStatus
- e418ae4 request pooled transport if only there is more than 1 part
- ae70a30 return err of resp.Body.Close()
- 161cef8 revert ecd50ea
- e7ce93d set both InsecureSkipVerify and RootCAs
- 30c66bd setting bar refill only at http.StatusPartialContent case
- 6ee895c short switch for debug
- 2c30a87 some written assertion in status 200 mode
- 133e4a0 stop on not resumable session
- 68b94b4 sync with new options
- f56b4a3 timeout based on timer.Stop
- ceecf7c undo debug hack
- 7cec9bc var buf [bufLen]byte
- b90db09 wrap BadHttpStatus