From 7f2534190680e365d812904d1c7f502138cae544 Mon Sep 17 00:00:00 2001 From: bel Date: Sun, 20 Oct 2019 00:13:42 +0000 Subject: [PATCH] permissions changes --- TODO | 0 config/config.go | 0 main.go | 0 server/dir.go | 0 server/dir_test.go | 0 server/dirs.go | 0 server/dirs_test.go | 0 server/edit.go | 43 +++++++++++++++++++++++++++++++++++++++++++ server/edit_test.go | 1 + server/file.go | 0 server/file_test.go | 0 server/files.go | 0 server/files_test.go | 0 server/notes.go | 0 server/notes_test.go | 0 server/path.go | 0 server/path_test.go | 0 server/paths.go | 0 server/paths_test.go | 0 server/routes.go | 4 ++++ server/routes_test.go | 26 ++++++++++++++++++++++++-- server/server.go | 0 server/server_test.go | 0 wrapper.html | 2 +- 24 files changed, 73 insertions(+), 3 deletions(-) mode change 100644 => 100755 TODO mode change 100644 => 100755 config/config.go mode change 100644 => 100755 main.go mode change 100644 => 100755 server/dir.go mode change 100644 => 100755 server/dir_test.go mode change 100644 => 100755 server/dirs.go mode change 100644 => 100755 server/dirs_test.go create mode 100755 server/edit.go create mode 100755 server/edit_test.go mode change 100644 => 100755 server/file.go mode change 100644 => 100755 server/file_test.go mode change 100644 => 100755 server/files.go mode change 100644 => 100755 server/files_test.go mode change 100644 => 100755 server/notes.go mode change 100644 => 100755 server/notes_test.go mode change 100644 => 100755 server/path.go mode change 100644 => 100755 server/path_test.go mode change 100644 => 100755 server/paths.go mode change 100644 => 100755 server/paths_test.go mode change 100644 => 100755 server/routes.go mode change 100644 => 100755 server/routes_test.go mode change 100644 => 100755 server/server.go mode change 100644 => 100755 server/server_test.go mode change 100644 => 100755 wrapper.html diff --git a/TODO b/TODO old mode 100644 new mode 100755 diff --git a/config/config.go b/config/config.go old mode 100644 new mode 100755 diff --git a/main.go b/main.go old mode 100644 new mode 100755 diff --git a/server/dir.go b/server/dir.go old mode 100644 new mode 100755 diff --git a/server/dir_test.go b/server/dir_test.go old mode 100644 new mode 100755 diff --git a/server/dirs.go b/server/dirs.go old mode 100644 new mode 100755 diff --git a/server/dirs_test.go b/server/dirs_test.go old mode 100644 new mode 100755 diff --git a/server/edit.go b/server/edit.go new file mode 100755 index 0000000..ddecd98 --- /dev/null +++ b/server/edit.go @@ -0,0 +1,43 @@ +package server + +import ( + "fmt" + "io/ioutil" + "net/http" + "strings" +) + +func (s *Server) edit(w http.ResponseWriter, r *http.Request) { + p := NewPathFromURL(r.URL.Path) + if p.IsDir() { + http.NotFound(w, r) + return + } + head(w, r) + editHead(w, p) + editFile(w, p) + foot(w, r) +} + +func editHead(w http.ResponseWriter, p Path) { + fmt.Fprintln(w, h2(p.MultiLink())) +} + +func editFile(w http.ResponseWriter, p Path) { + href := p.HREF + href = strings.TrimPrefix(href, "/") + hrefs := strings.SplitN(href, "/", 2) + href = hrefs[0] + if len(hrefs) > 1 { + href = hrefs[1] + } + b, _ := ioutil.ReadFile(p.Local) + fmt.Fprintf(w, ` +
+ + +
+ +
+ `, href, b) +} diff --git a/server/edit_test.go b/server/edit_test.go new file mode 100755 index 0000000..abb4e43 --- /dev/null +++ b/server/edit_test.go @@ -0,0 +1 @@ +package server diff --git a/server/file.go b/server/file.go old mode 100644 new mode 100755 diff --git a/server/file_test.go b/server/file_test.go old mode 100644 new mode 100755 diff --git a/server/files.go b/server/files.go old mode 100644 new mode 100755 diff --git a/server/files_test.go b/server/files_test.go old mode 100644 new mode 100755 diff --git a/server/notes.go b/server/notes.go old mode 100644 new mode 100755 diff --git a/server/notes_test.go b/server/notes_test.go old mode 100644 new mode 100755 diff --git a/server/path.go b/server/path.go old mode 100644 new mode 100755 diff --git a/server/path_test.go b/server/path_test.go old mode 100644 new mode 100755 diff --git a/server/paths.go b/server/paths.go old mode 100644 new mode 100755 diff --git a/server/paths_test.go b/server/paths_test.go old mode 100644 new mode 100755 diff --git a/server/routes.go b/server/routes.go old mode 100644 new mode 100755 index 6907f42..3ce585f --- a/server/routes.go +++ b/server/routes.go @@ -16,6 +16,10 @@ func (s *Server) Routes() error { path: fmt.Sprintf("notes/%s%s", wildcard, wildcard), handler: s.notes, }, + { + path: fmt.Sprintf("edit/%s%s", wildcard, wildcard), + handler: s.edit, + }, } for _, endpoint := range endpoints { diff --git a/server/routes_test.go b/server/routes_test.go old mode 100644 new mode 100755 index 5393412..cd97f06 --- a/server/routes_test.go +++ b/server/routes_test.go @@ -27,12 +27,34 @@ func TestServerNotes(t *testing.T) { t.Logf("serve %s: %s", r.URL.Path, w.Body.Bytes()) w.Body.Reset() - r.URL.Path = "/serve/" + r.URL.Path = "/notes/" s.notes(w, r) t.Logf("serve %s: %s", r.URL.Path, w.Body.Bytes()) w.Body.Reset() - r.URL.Path = "/serve/test" + r.URL.Path = "/notes/test" s.notes(w, r) t.Logf("serve %s: %s", r.URL.Path, w.Body.Bytes()) } + +func TestServerNotes(t *testing.T) { + s := New() + w := httptest.NewRecorder() + r := &http.Request{ + URL: &url.URL{ + Path: "/", + }, + } + s.edit(w, r) + t.Logf("serve %s: %s", r.URL.Path, w.Body.Bytes()) + + w.Body.Reset() + r.URL.Path = "/edit/" + s.edit(w, r) + t.Logf("serve %s: %s", r.URL.Path, w.Body.Bytes()) + + w.Body.Reset() + r.URL.Path = "/edit/test" + s.edit(w, r) + t.Logf("serve %s: %s", r.URL.Path, w.Body.Bytes()) +} diff --git a/server/server.go b/server/server.go old mode 100644 new mode 100755 diff --git a/server/server_test.go b/server/server_test.go old mode 100644 new mode 100755 diff --git a/wrapper.html b/wrapper.html old mode 100644 new mode 100755 index 347eba2..3d4f708 --- a/wrapper.html +++ b/wrapper.html @@ -2,7 +2,7 @@
- + {{{}}}