code: func (c *Client) List(hash, prefix, credentials string) (*api.ManifestList, error) {
  	req, err := http.NewRequest(http.MethodGet, c.Gateway+"/bzz-list:/"+hash+"/"+prefix, nil)
  	if err != nil {
  		return nil, err
  	}
  	if credentials != "" {
  		req.SetBasicAuth("", credentials)
  	}
  	res, err := http.DefaultClient.Do(req)
  	if err != nil {
  		return nil, err
  	}
  	defer res.Body.Close()
  	switch res.StatusCode {
  	case http.StatusOK:
  	case http.StatusUnauthorized:
  		return nil, ErrUnauthorized
  	default:
  		return nil, fmt.Errorf("unexpected HTTP status: %s", res.Status)
  	}
  	var list api.ManifestList
  	if err := json.NewDecoder(res.Body).Decode(&list); err != nil {
  		return nil, err
  	}
  	return &list, nil
  }
docs: // List list files in a swarm manifest which have the given prefix, grouping
  // common prefixes using "/" as a delimiter.
  //
  // For example, if the manifest represents the following directory structure:
  //
  // file1.txt
  // file2.txt
  // dir1/file3.txt
  // dir1/dir2/file4.txt
  //
  // Then:
  //
  // - a prefix of ""      would return [dir1/, file1.txt, file2.txt]
  // - a prefix of "file"  would return [file1.txt, file2.txt]
  // - a prefix of "dir1/" would return [dir1/dir2/, dir1/file3.txt]
  //
  // where entries ending with "/" are common prefixes.