[gcsproxy] Pass lock by reference instead of value

This is what a vscode extension caught and complained about, appearing
to catch a bug that would have prevented the lock from doing its job.

Bug: 48652
Change-Id: I56a65cb19ac38c34f553baded9a5e9bb624a418c
diff --git a/cmd/gcsproxy/main.go b/cmd/gcsproxy/main.go
index eda437b..efb52b8 100644
--- a/cmd/gcsproxy/main.go
+++ b/cmd/gcsproxy/main.go
@@ -124,12 +124,12 @@
 		return err
 	}
 
-	var limiters sync.Map
+	limiters := new(sync.Map)
 	for _, addr := range allowedAddrs {
 		limiters.Store(addr, newLimiter())
 	}
 
-	redirect := redirectHandler{
+	redirect := &redirectHandler{
 		client:   client,
 		limiters: limiters,
 	}
@@ -171,10 +171,10 @@
 type redirectHandler struct {
 	client *http.Client
 	// limiters is a map of string: *rate.Limiter.
-	limiters sync.Map
+	limiters *sync.Map
 }
 
-func (h redirectHandler) ServeHTTP(w http.ResponseWriter, req *http.Request) {
+func (h *redirectHandler) ServeHTTP(w http.ResponseWriter, req *http.Request) {
 	if req == nil {
 		http.Error(w, "cannot handle nil request", http.StatusInternalServerError) // = 501
 		return