Skip to content

Commit

Permalink
Allow load from local CRD files
Browse files Browse the repository at this point in the history
  • Loading branch information
jtdoepke committed Jan 24, 2024
1 parent 78fc816 commit e717702
Showing 1 changed file with 20 additions and 7 deletions.
27 changes: 20 additions & 7 deletions pkg/swagger/load.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,21 +3,34 @@ package swagger
import (
"io/ioutil"
"net/http"
"os"
"strings"
)

type Loader interface {
Load([]byte) (Definitions, error)
}

func Load(loader Loader, url string) (Definitions, error) {
r, err := http.Get(url)
if err != nil {
return nil, err
}
var data []byte
if strings.HasPrefix(url, "file://") {
path := strings.TrimPrefix(url, "file://")

var err error
data, err = os.ReadFile(path)
if err != nil {
return nil, err
}
} else {
r, err := http.Get(url)
if err != nil {
return nil, err
}

data, err := ioutil.ReadAll(r.Body)
if err != nil {
return nil, err
data, err = ioutil.ReadAll(r.Body)
if err != nil {
return nil, err
}
}

return loader.Load(data)
Expand Down

0 comments on commit e717702

Please sign in to comment.