diff options
Diffstat (limited to 'src/helsinki.at/rhimportd/ctrlWeb.go')
-rw-r--r-- | src/helsinki.at/rhimportd/ctrlWeb.go | 32 |
1 files changed, 5 insertions, 27 deletions
diff --git a/src/helsinki.at/rhimportd/ctrlWeb.go b/src/helsinki.at/rhimportd/ctrlWeb.go index 275f095..5a76f15 100644 --- a/src/helsinki.at/rhimportd/ctrlWeb.go +++ b/src/helsinki.at/rhimportd/ctrlWeb.go @@ -25,46 +25,24 @@ package main import ( - "fmt" "helsinki.at/rhimport" - "html" "net/http" _ "net/http/pprof" ) type webHandler struct { *rhimport.Config - H func(*rhimport.Config, http.ResponseWriter, *http.Request) (int, error) + trusted bool + H func(*rhimport.Config, bool, http.ResponseWriter, *http.Request) } func (self webHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) { - status, err := self.H(self.Config, w, r) - if err != nil { - switch status { - case http.StatusNotFound: - http.NotFound(w, r) - default: - http.Error(w, fmt.Sprintf("%s: %s", http.StatusText(status), err), status) - } - } -} - -func IndexHandler(conf *rhimport.Config, w http.ResponseWriter, r *http.Request) (status int, err error) { - - ctx := rhimport.NewImportContext(conf, "hugo", "test", 17324) - ctx.SourceFile = html.EscapeString(r.URL.Path) - ctx.DeleteSourceFile = true - - if err = rhimport.ImportFile(ctx); err != nil { - status = http.StatusInternalServerError - } else { - status = http.StatusOK - } - return + self.H(self.Config, self.trusted, w, r) } func StartControlWeb(addr_s string, conf *rhimport.Config) { - http.Handle("/", webHandler{conf, IndexHandler}) + http.Handle("/public/simple", webHandler{conf, false, webSimpleHandler}) + http.Handle("/trusted/simple", webHandler{conf, true, webSimpleHandler}) rhl.Println("listening on", addr_s) http.ListenAndServe(addr_s, nil) |