fix(client): Return nil and error if endpoint is empty string
Why: Passing an empty string as an endpoint to Client when instantiating a new client might seem like something that should never happen but I managed to trigger it while parsing some input files to register feeds in bulk. What: In the execute() function, check early if the endpoint is "" and then return immediately nil and a new error, named ErrEmptyEndpoint with a descriptive string
This commit is contained in:
parent
f3a5a3ee14
commit
89ff33ddd0
1 changed files with 4 additions and 0 deletions
|
@ -27,6 +27,7 @@ var (
|
|||
ErrServerError = errors.New("miniflux: internal server error")
|
||||
ErrNotFound = errors.New("miniflux: resource not found")
|
||||
ErrBadRequest = errors.New("miniflux: bad request")
|
||||
ErrEmptyEndpoint = errors.New("miniflux: empty endpoint provided")
|
||||
)
|
||||
|
||||
type errorResponse struct {
|
||||
|
@ -62,6 +63,9 @@ func (r *request) Delete(path string) error {
|
|||
}
|
||||
|
||||
func (r *request) execute(method, path string, data interface{}) (io.ReadCloser, error) {
|
||||
if r.endpoint == "" {
|
||||
return nil, ErrEmptyEndpoint
|
||||
}
|
||||
if r.endpoint[len(r.endpoint)-1:] == "/" {
|
||||
r.endpoint = r.endpoint[:len(r.endpoint)-1]
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue