refactor: updated routes and handlers
This commit is contained in:
parent
947fbba854
commit
4d96010199
3 changed files with 33 additions and 18 deletions
|
|
@ -2,6 +2,7 @@ package service
|
|||
|
||||
import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"io"
|
||||
"net/http"
|
||||
"os"
|
||||
|
|
@ -34,12 +35,13 @@ func (s *Service) ListPlugins() http.HandlerFunc {
|
|||
http.Error(w, err.Error(), http.StatusInternalServerError)
|
||||
return
|
||||
}
|
||||
fmt.Printf("%v", plugins)
|
||||
|
||||
w.Write(body)
|
||||
}
|
||||
}
|
||||
|
||||
func (s *Service) GetPlugin() http.HandlerFunc {
|
||||
func (s *Service) GetPluginInfo() http.HandlerFunc {
|
||||
return func(w http.ResponseWriter, r *http.Request) {
|
||||
var (
|
||||
pluginName = chi.URLParam(r, "name")
|
||||
|
|
@ -55,7 +57,7 @@ func (s *Service) GetPlugin() http.HandlerFunc {
|
|||
return
|
||||
}
|
||||
|
||||
body, err = json.Marshal(plugin)
|
||||
body, err = json.Marshal(makeshift.PluginToMap(plugin))
|
||||
if err != nil {
|
||||
http.Error(w, err.Error(), http.StatusInternalServerError)
|
||||
return
|
||||
|
|
@ -65,6 +67,12 @@ func (s *Service) GetPlugin() http.HandlerFunc {
|
|||
}
|
||||
}
|
||||
|
||||
func (s *Service) GetPluginRaw() http.HandlerFunc {
|
||||
return func(w http.ResponseWriter, r *http.Request) {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
func (s *Service) CreatePlugin() http.HandlerFunc {
|
||||
return func(w http.ResponseWriter, r *http.Request) {
|
||||
var (
|
||||
|
|
|
|||
|
|
@ -97,7 +97,6 @@ func (s *Service) Serve() error {
|
|||
|
||||
} else {
|
||||
// general
|
||||
// router.Handle("/download/*", http.StripPrefix("/download/", http.FileServer(http.Dir(s.PathForData()))))
|
||||
router.Get("/download/*", s.Download())
|
||||
router.Post("/upload/", s.Upload())
|
||||
router.Post("/upload/plugin", s.UploadPlugin())
|
||||
|
|
@ -106,18 +105,18 @@ func (s *Service) Serve() error {
|
|||
|
||||
// profiles
|
||||
router.Get("/profiles", s.ListProfiles())
|
||||
// router.Post("/profiles", s.CreateProfiles())
|
||||
router.Get("/profile/{id}", s.GetProfile())
|
||||
router.Post("/profile/{id}", s.CreateProfile())
|
||||
router.Get("/profile/{id}/data", s.GetProfileData())
|
||||
router.Post("/profile/{id}/data", s.SetProfileData())
|
||||
router.Delete("/profile/{id}/data", s.DeleteProfileData())
|
||||
router.Get("/profiles/{id}", s.GetProfile())
|
||||
router.Post("/profiles/{id}", s.CreateProfile())
|
||||
router.Get("/profiles/{id}/data", s.GetProfileData())
|
||||
router.Post("/profiles/{id}/data", s.SetProfileData())
|
||||
router.Delete("/profiles/{id}/data", s.DeleteProfileData())
|
||||
|
||||
// plugins
|
||||
router.Get("/plugins", s.ListPlugins())
|
||||
router.Get("/plugin/{name}", s.GetPlugin())
|
||||
router.Post("/plugin/{name}", s.CreatePlugin())
|
||||
router.Delete("/plugin/{name}", s.DeletePlugin())
|
||||
router.Get("/plugins/{name}/info", s.GetPluginInfo())
|
||||
router.Get("/plugins/{name}/raw", s.GetPluginRaw())
|
||||
router.Post("/plugins/{name}", s.CreatePlugin())
|
||||
router.Delete("/plugins/{name}", s.DeletePlugin())
|
||||
}
|
||||
|
||||
// always available public routes go here
|
||||
|
|
@ -192,12 +191,8 @@ func LoadPluginsFromDir(dirpath string) (map[string]makeshift.Plugin, error) {
|
|||
// walk all files in directory only loading *valid* plugins
|
||||
err = filepath.Walk(dirpath, func(path string, info fs.FileInfo, err error) error {
|
||||
// skip trying to load generator plugin if directory or error
|
||||
if info.IsDir() || err != nil {
|
||||
return nil
|
||||
}
|
||||
|
||||
// only try loading if file has .so extension
|
||||
if hasValidExt(path) {
|
||||
if info.IsDir() || err != nil || hasValidExt(path) {
|
||||
return nil
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue