lightwalletd/common/downloadhandler.go

42 lines
1.0 KiB
Go

package common
import (
"net/http"
"strings"
)
var (
metrics *PrometheusMetrics
)
// Handle http(s) downloads for zcash params
func paramsHandler(w http.ResponseWriter, req *http.Request) {
if strings.HasSuffix(req.URL.Path, "sapling-output.params") {
metrics.TotalSaplingParamsCounter.Inc()
http.Redirect(w, req, "https://z.cash/downloads/sapling-output.params", 301)
return
}
if strings.HasSuffix(req.URL.Path, "sapling-spend.params") {
http.Redirect(w, req, "https://z.cash/downloads/sapling-spend.params", 301)
return
}
if strings.HasSuffix(req.URL.Path, "sprout-groth16.params") {
metrics.TotalSproutParamsCounter.Inc()
http.Redirect(w, req, "https://z.cash/downloads/sprout-groth16.params", 301)
return
}
http.Error(w, "Not Found", 404)
}
// ParamsDownloadHandler Listens on port 8090 for download requests for params
func ParamsDownloadHandler(prommetrics *PrometheusMetrics) {
metrics = prommetrics
http.HandleFunc("/params/", paramsHandler)
println("Handling at params")
http.ListenAndServe(":8090", nil)
}