diff --git a/server/handlers.go b/server/handlers.go index c5be850..d6b43ad 100644 --- a/server/handlers.go +++ b/server/handlers.go @@ -16,6 +16,7 @@ import ( "math" "html" "fmt" + "io/ioutil" ) func IndexHandler(rw http.ResponseWriter, req *http.Request) { @@ -472,3 +473,16 @@ func OPMLExportHandler(rw http.ResponseWriter, req *http.Request) { rw.Write([]byte(builder.String())) } } + +func PageCrawlHandler(rw http.ResponseWriter, req *http.Request) { + query := req.URL.Query() + if url := query.Get("url"); len(url) > 0 { + res, err := http.Get(url) + if err == nil { + body, err := ioutil.ReadAll(res.Body) + if err == nil { + rw.Write(body) + } + } + } +} diff --git a/server/server.go b/server/server.go index d55908a..3e4bcba 100644 --- a/server/server.go +++ b/server/server.go @@ -82,6 +82,7 @@ var routes []Route = []Route{ p("/api/settings", SettingsHandler), p("/opml/import", OPMLImportHandler), p("/opml/export", OPMLExportHandler), + p("/page", PageCrawlHandler), } func Vars(req *http.Request) map[string]string { diff --git a/template/index.html b/template/index.html index 5e7b066..09117cb 100644 --- a/template/index.html +++ b/template/index.html @@ -117,6 +117,9 @@ +