Use typecast over reflect for error type checking

Signed-off-by: Edgar Lee <edgar.lee@docker.com>
This commit is contained in:
Edgar Lee 2016-07-14 15:03:18 -07:00
parent 3bfd03cbe6
commit a82f661ef0

View file

@ -6,7 +6,6 @@ import (
"io" "io"
"net/http" "net/http"
"net/url" "net/url"
"reflect"
"strconv" "strconv"
"github.com/docker/distribution/registry/api/errcode" "github.com/docker/distribution/registry/api/errcode"
@ -48,8 +47,9 @@ func (ch *catalogHandler) GetCatalog(w http.ResponseWriter, r *http.Request) {
repos := make([]string, maxEntries) repos := make([]string, maxEntries)
filled, err := ch.App.registry.Repositories(ch.Context, repos, lastEntry) filled, err := ch.App.registry.Repositories(ch.Context, repos, lastEntry)
_, pathNotFound := err.(driver.PathNotFoundError)
if err == io.EOF || reflect.TypeOf(err) == reflect.TypeOf(driver.PathNotFoundError{}) { if err == io.EOF || pathNotFound {
moreEntries = false moreEntries = false
} else if err != nil && err != storage.ErrFinishedWalk { } else if err != nil && err != storage.ErrFinishedWalk {
ch.Errors = append(ch.Errors, errcode.ErrorCodeUnknown.WithDetail(err)) ch.Errors = append(ch.Errors, errcode.ErrorCodeUnknown.WithDetail(err))