go/svc/speedtest: bazelify
Change-Id: If83422929432a316c11e25c7dda68d8172f25167
diff --git a/go/svc/speedtest/BUILD b/go/svc/speedtest/BUILD
new file mode 100644
index 0000000..d51290f
--- /dev/null
+++ b/go/svc/speedtest/BUILD
@@ -0,0 +1,17 @@
+load("@io_bazel_rules_go//go:def.bzl", "go_library")
+load("@io_bazel_rules_go//extras:embed_data.bzl", "go_embed_data")
+
+go_embed_data(
+ name = "static",
+ srcs = ["index.html", "speedtest.js", "speedtest_worker.js"],
+ package = "static",
+)
+
+# keep
+go_library(
+ name = "static_go",
+ srcs = [":static"],
+ importpath = "code.hackerspace.pl/hscloud/go/svc/speedtest/static",
+ visibility = ["//visibility:public"],
+)
+
diff --git a/go/svc/speedtest/backend/BUILD.bazel b/go/svc/speedtest/backend/BUILD.bazel
new file mode 100644
index 0000000..28ecc88
--- /dev/null
+++ b/go/svc/speedtest/backend/BUILD.bazel
@@ -0,0 +1,24 @@
+load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library", "go_test")
+
+go_library(
+ name = "go_default_library",
+ srcs = ["main.go"],
+ importpath = "code.hackerspace.pl/hscloud/go/svc/speedtest/backend",
+ visibility = ["//visibility:private"],
+ deps = [
+ "@com_github_golang_glog//:go_default_library",
+ "//go/svc/speedtest:static_go", # keep
+ ],
+)
+
+go_binary(
+ name = "backend",
+ embed = [":go_default_library"],
+ visibility = ["//visibility:public"],
+)
+
+go_test(
+ name = "go_default_test",
+ srcs = ["main_test.go"],
+ embed = [":go_default_library"],
+)
diff --git a/go/svc/speedtest/backend/main.go b/go/svc/speedtest/backend/main.go
index ce1ed22..80c1c8c 100644
--- a/go/svc/speedtest/backend/main.go
+++ b/go/svc/speedtest/backend/main.go
@@ -26,6 +26,8 @@
"strings"
"github.com/golang/glog"
+
+ "code.hackerspace.pl/hscloud/go/svc/speedtest/static"
)
var (
@@ -129,13 +131,13 @@
json.NewEncoder(w).Encode(res)
})
http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
- http.ServeFile(w, r, "index.html")
+ w.Write(static.Data["go/svc/speedtest/index.html"])
})
http.HandleFunc("/speedtest.js", func(w http.ResponseWriter, r *http.Request) {
- http.ServeFile(w, r, "speedtest.js")
+ w.Write(static.Data["go/svc/speedtest/speedtest.js"])
})
http.HandleFunc("/speedtest_worker.js", func(w http.ResponseWriter, r *http.Request) {
- http.ServeFile(w, r, "speedtest_worker.js")
+ w.Write(static.Data["go/svc/speedtest/speedtest_worker.js"])
})
glog.Infof("Starting up at %v", flagBind)
diff --git a/go/svc/speedtest/go.mod b/go/svc/speedtest/go.mod
deleted file mode 100644
index de60e8d..0000000
--- a/go/svc/speedtest/go.mod
+++ /dev/null
@@ -1,5 +0,0 @@
-module github.com/q3k/speedtest
-
-go 1.12
-
-require github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b
diff --git a/go/svc/speedtest/go.sum b/go/svc/speedtest/go.sum
deleted file mode 100644
index 3918a9f..0000000
--- a/go/svc/speedtest/go.sum
+++ /dev/null
@@ -1,3 +0,0 @@
-github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b h1:VKtxabqXZkF25pY9ekfRL6a582T4P37/31XEstQ5p58=
-github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
-github.com/q3k/speedtest v0.0.0-20190630060004-d18f21107a43 h1:0g0AvEkvqQpp7DocEcgryBLSi0LlJh1SR4GteVXC1+o=