mirror of
				https://github.com/containers/podman.git
				synced 2025-10-31 18:08:51 +08:00 
			
		
		
		
	 5b79cf15a0
			
		
	
	5b79cf15a0
	
	
	
		
			
			* Remove duplicate or unused types and constants * Move all documetation-only models and responses into swagger package * Remove all unecessary names, go-swagger will determine names from struct declarations * Use Libpod suffix to differentiate between compat and libpod models and responses. Taken from swagger:operation declarations. * Models and responses that start with lowercase are for swagger use only while uppercase are used "as is" in the code and swagger comments * Used gofumpt on new code ```release-note ``` Signed-off-by: Jhon Honce <jhonce@redhat.com>
		
			
				
	
	
		
			30 lines
		
	
	
		
			767 B
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			30 lines
		
	
	
		
			767 B
		
	
	
	
		
			Go
		
	
	
	
	
	
| package libpod
 | |
| 
 | |
| import (
 | |
| 	"net/http"
 | |
| 	"os"
 | |
| 
 | |
| 	"github.com/containers/podman/v4/pkg/api/handlers/utils"
 | |
| 	"github.com/pkg/errors"
 | |
| )
 | |
| 
 | |
| // DefaultPodmanSwaggerSpec provides the default path to the podman swagger spec file
 | |
| const DefaultPodmanSwaggerSpec = "/usr/share/containers/podman/swagger.yaml"
 | |
| 
 | |
| func ServeSwagger(w http.ResponseWriter, r *http.Request) {
 | |
| 	path := DefaultPodmanSwaggerSpec
 | |
| 	if p, found := os.LookupEnv("PODMAN_SWAGGER_SPEC"); found {
 | |
| 		path = p
 | |
| 	}
 | |
| 	if _, err := os.Stat(path); err != nil {
 | |
| 		if errors.Is(err, os.ErrNotExist) {
 | |
| 			utils.InternalServerError(w, errors.Errorf("swagger spec %q does not exist", path))
 | |
| 			return
 | |
| 		}
 | |
| 		utils.InternalServerError(w, err)
 | |
| 		return
 | |
| 	}
 | |
| 	w.Header().Set("Content-Type", "text/yaml")
 | |
| 	http.ServeFile(w, r, path)
 | |
| }
 |