From ff408df58ba6b7e21b9b0ce387c2fb477b19a53b Mon Sep 17 00:00:00 2001 From: jason Date: Tue, 30 Dec 2014 22:08:30 -0700 Subject: Basic file saving web server. --- src/dossier/wiki/handlers.go | 44 ++++++++++++++++++++++++++++++++++++++++++++ src/dossier/wiki/page.go | 17 +++++++++++++++++ src/dossier/wiki/utils.go | 14 ++++++++++++++ 3 files changed, 75 insertions(+) create mode 100644 src/dossier/wiki/handlers.go create mode 100644 src/dossier/wiki/page.go create mode 100644 src/dossier/wiki/utils.go diff --git a/src/dossier/wiki/handlers.go b/src/dossier/wiki/handlers.go new file mode 100644 index 0000000..4f241eb --- /dev/null +++ b/src/dossier/wiki/handlers.go @@ -0,0 +1,44 @@ +package wiki + +import ( + "fmt" + "net/http" +) + +func SaveHandler(w http.ResponseWriter, r *http.Request) { + var title string = r.URL.Path[len("/save/"):] + body := r.FormValue("body") + p := &Page{Title: title, Body: []byte(body)} + var err error = p.Save() + if err != nil { + fmt.Fprintf(w, "500: %s", err) + return + } + http.Redirect(w, r, "/view/"+title, http.StatusFound) +} + +func EditHandler(w http.ResponseWriter, r *http.Request) { + var title string = r.URL.Path[len("/edit/"):] + p, err := loadPage(title) + if err != nil { + p = &Page{Title: title} + } + fmt.Fprintf(w, "