Explorar el Código

proper error handling for ListRepos

Ivan Galakhov hace 5 años
padre
commit
4147ddd049
Se han modificado 1 ficheros con 8 adiciones y 0 borrados
  1. 8 0
      server/api/git_repo_handler.go

+ 8 - 0
server/api/git_repo_handler.go

@@ -87,6 +87,7 @@ func (app *App) HandleListRepos(w http.ResponseWriter, r *http.Request) {
 	// make workers to get pages concurrently
 	const WCOUNT = 5
 	numPages := resp.LastPage + 1
+	var workerErr error
 	var mu sync.Mutex
 	var wg sync.WaitGroup
 
@@ -104,6 +105,9 @@ func (app *App) HandleListRepos(w http.ResponseWriter, r *http.Request) {
 			repos, _, err := client.Repositories.List(context.Background(), "", cur_opt)
 
 			if err != nil {
+				mu.Lock()
+				workerErr = err
+				mu.Unlock()
 				return
 			}
 
@@ -123,6 +127,10 @@ func (app *App) HandleListRepos(w http.ResponseWriter, r *http.Request) {
 
 	wg.Wait()
 
+	if workerErr != nil {
+
+	}
+
 	res := make([]Repo, 0)
 
 	for _, repo := range allRepos {