42 lines
1.0 KiB
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)
|
|
}
|