Handle new errors returned from catalog repository listing
Signed-off-by: Edgar Lee <edgar.lee@docker.com>master
							parent
							
								
									5a0b35ca10
								
							
						
					
					
						commit
						aeb9a29499
					
				|  | @ -6,9 +6,12 @@ import ( | |||
| 	"io" | ||||
| 	"net/http" | ||||
| 	"net/url" | ||||
| 	"reflect" | ||||
| 	"strconv" | ||||
| 
 | ||||
| 	"github.com/docker/distribution/registry/api/errcode" | ||||
| 	"github.com/docker/distribution/registry/storage" | ||||
| 	"github.com/docker/distribution/registry/storage/driver" | ||||
| 	"github.com/gorilla/handlers" | ||||
| ) | ||||
| 
 | ||||
|  | @ -45,9 +48,10 @@ func (ch *catalogHandler) GetCatalog(w http.ResponseWriter, r *http.Request) { | |||
| 	repos := make([]string, maxEntries) | ||||
| 
 | ||||
| 	filled, err := ch.App.registry.Repositories(ch.Context, repos, lastEntry) | ||||
| 	if err == io.EOF { | ||||
| 
 | ||||
| 	if err == io.EOF || reflect.TypeOf(err) == reflect.TypeOf(driver.PathNotFoundError{}) { | ||||
| 		moreEntries = false | ||||
| 	} else if err != nil { | ||||
| 	} else if err != nil && err != storage.ErrFinishedWalk { | ||||
| 		ch.Errors = append(ch.Errors, errcode.ErrorCodeUnknown.WithDetail(err)) | ||||
| 		return | ||||
| 	} | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue