aboutsummaryrefslogtreecommitdiffstats
path: root/web/web.go
diff options
context:
space:
mode:
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)