func (p yamlParser) ParseFromMirror(mirror string) ([]models.Plugin, error) { var file io.Reader var err error if p.isUrl(mirror) { urlFinal, err := url.ParseRequestURI(mirror) extension := fileManage.Ext(urlFinal.Path) if extension == "" { var pluginsJson models.PluginsJson response, err := http.Get(mirror + "/list") if err != nil { p.logger.Write([]byte("Skip mirror not valid '" + mirror + "/list':" + err.Error())) return []models.Plugin{}, nil } bytesJson, err := ioutil.ReadAll(response.Body) if err != nil { p.logger.Write([]byte("Skip mirror not valid '" + mirror + "':" + err.Error())) return []models.Plugin{}, nil } if err := json.Unmarshal(bytesJson, &pluginsJson); err != nil { p.logger.Write([]byte("Skip mirror not valid json '" + mirror + "':" + err.Error())) return []models.Plugin{}, nil } return pluginsJson.Plugins, nil } if extension != ".yml" && extension != ".yaml" { p.logger.Write([]byte("Skip mirror not a valid url '" + mirror + "'")) return []models.Plugin{}, nil } response, err := http.Get(mirror) if err != nil { p.logger.Write([]byte("Skip mirror url does not exist '" + mirror + "':" + err.Error())) return []models.Plugin{}, nil } file = response.Body } else { dir := fileManage.Dir(p.filePath) file, err = os.Open(dir + "/" + mirror) if err != nil { p.logger.Write([]byte("Skip mirror file does not exist '" + mirror + "':" + err.Error())) return []models.Plugin{}, nil } } plugins, err := p.ParseFromIoReader(file) return plugins, err }
func init() { Config = &ConfigModel{ Token: "", BlobFiles: make([]BlobFile, 0), } wd, err := os.Getwd() checkError(err) ConfigPath = path.Join(wd, CONFIG_FILE) if _, err := os.Stat(ConfigPath); os.IsNotExist(err) { Config.save() loadFromEnvVar() return } data, err := ioutil.ReadFile(ConfigPath) checkError(err) err = json.Unmarshal(data, Config) checkError(err) if Config.GetToken() == "" { loadFromEnvVar() } }