package server import ( "io" "net/http" "os" "gitea.inhome.blapointe.com/local/gziphttp" "gitea.inhome.blapointe.com/local/notes-server/filetree" ) func (s *Server) raw(w http.ResponseWriter, r *http.Request) { if err := s._raw(w, r); err != nil { http.Error(w, err.Error(), http.StatusInternalServerError) } } func (s *Server) _raw(w http.ResponseWriter, r *http.Request) error { gziphttp.SetContentTypeIfMedia(w, r) p := filetree.NewPathFromURL(r.URL.Path) if !p.IsFile() { http.NotFound(w, r) return nil } f, err := os.Open(p.Local) if err != nil { return err } defer f.Close() if _, err := io.Copy(w, f); err != nil { return err } return nil }