summaryrefslogtreecommitdiff
path: root/src/helsinki.at/rhimportd/ctrlWeb.go
diff options
context:
space:
mode:
authorChristian Pointner <equinox@helsinki.at>2015-12-04 04:46:53 (GMT)
committerChristian Pointner <equinox@helsinki.at>2015-12-04 04:46:53 (GMT)
commitebb3f5828c9ac684f18135b17152d714939578f8 (patch)
tree76a1b3e7c23058db5ec7895fb0ad8b454dc0bbb4 /src/helsinki.at/rhimportd/ctrlWeb.go
parentef640c5a4b1dbd52ff2b125cb9abd33a2d562b62 (diff)
further improved simple web interface
Diffstat (limited to 'src/helsinki.at/rhimportd/ctrlWeb.go')
-rw-r--r--src/helsinki.at/rhimportd/ctrlWeb.go32
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)