code: func unzipFile(body io.ReadCloser, path string) error {
  	content, err := ioutil.ReadAll(body)
  	if err != nil {
  		return err
  	}
  
  	reader, err := zip.NewReader(bytes.NewReader(content), int64(len(content)))
  	if err != nil {
  		return err
  	}
  
  	// extract files from zipfile
  	for _, f := range reader.File {
  		zipped, err := f.Open()
  		if err != nil {
  			return err
  		}
  
  		defer zipped.Close()
  
  		p := filepath.Join(path, f.Name)
  
  		if f.FileInfo().IsDir() {
  			os.MkdirAll(p, f.Mode())
  			continue
  		}
  
  		writer, err := os.OpenFile(p, os.O_WRONLY|os.O_CREATE, f.Mode())
  		if err != nil {
  			return err
  		}
  
  		defer writer.Close()
  		if _, err = io.Copy(writer, zipped); err != nil {
  			return err
  		}
  	}
  	return nil
  }
docs: // unzipFile unzip a file(from resp.Body) to the spec path