aboutsummaryrefslogtreecommitdiffstats
path: root/web/web.go
diff options
context:
space:
mode:
authorAdam Mathes <adam@trenchant.org>2018-07-04 14:58:43 -0700
committerAdam Mathes <adam@trenchant.org>2018-07-04 14:58:43 -0700
commitee5bf1d50b9165729d0c61f7d1f968949e3e0638 (patch)
tree2c95b0a2a7563d7882712676f99d78cd6f563d93 /web/web.go
parentd0911491b52a56f713da9ebe26f993bf786cce84 (diff)
downloadneko-ee5bf1d50b9165729d0c61f7d1f968949e3e0638.tar.gz
neko-ee5bf1d50b9165729d0c61f7d1f968949e3e0638.tar.bz2
neko-ee5bf1d50b9165729d0c61f7d1f968949e3e0638.zip
enable feed export from web interface
Diffstat (limited to 'web/web.go')
-rw-r--r--web/web.go9
1 files changed, 9 insertions, 0 deletions
diff --git a/web/web.go b/web/web.go
index 8b3b19d..f7fec31 100644
--- a/web/web.go
+++ b/web/web.go
@@ -3,6 +3,7 @@ package web
import (
"adammathes.com/neko/config"
"adammathes.com/neko/crawler"
+ "adammathes.com/neko/exporter"
"adammathes.com/neko/models/feed"
"adammathes.com/neko/models/item"
"encoding/base64"
@@ -193,6 +194,13 @@ func imageProxyHandler(w http.ResponseWriter, r *http.Request) {
return
}
+func exportHandler(w http.ResponseWriter, r *http.Request) {
+ format := r.URL.String()
+ w.Header().Set("content-type", "text/plain")
+ w.Write([]byte(exporter.ExportFeeds(format)))
+ return
+}
+
func fullTextHandler(w http.ResponseWriter, r *http.Request) {
fmt.Printf("request: %v\n\n", r)
@@ -289,6 +297,7 @@ func Serve() {
http.HandleFunc("/feed/", AuthWrap(feedHandler))
http.HandleFunc("/tag/", AuthWrap(categoryHandler))
http.Handle("/image/", http.StripPrefix("/image/", AuthWrap(imageProxyHandler)))
+ http.Handle("/export/", http.StripPrefix("/export/", AuthWrap(exportHandler)))
http.HandleFunc("/login/", loginHandler)
http.HandleFunc("/logout/", logoutHandler)