get_handler.go 500 B

1234567891011121314151617181920212223242526
  1. package v2
  2. import (
  3. "fmt"
  4. "io"
  5. "net/http"
  6. "github.com/gorilla/mux"
  7. )
  8. // getHandler retrieves the current leader.
  9. func (h *handler) getHandler(w http.ResponseWriter, req *http.Request) error {
  10. vars := mux.Vars(req)
  11. // Proxy the request to the lock service.
  12. url := fmt.Sprintf("%s/mod/v2/lock/%s?field=value", h.addr, vars["key"])
  13. resp, err := h.client.Get(url)
  14. if err != nil {
  15. return err
  16. }
  17. defer resp.Body.Close()
  18. w.WriteHeader(resp.StatusCode)
  19. io.Copy(w, resp.Body)
  20. return nil
  21. }