(w http.ResponseWriter, r *http.Request)
| 64 | } |
| 65 | |
| 66 | func keyValueGetHandler(w http.ResponseWriter, r *http.Request) { |
| 67 | vars := mux.Vars(r) |
| 68 | key := vars["key"] |
| 69 | |
| 70 | value, err := Get(key) |
| 71 | if errors.Is(err, ErrorNoSuchKey) { |
| 72 | http.Error(w, err.Error(), http.StatusNotFound) |
| 73 | return |
| 74 | } |
| 75 | if err != nil { |
| 76 | http.Error(w, err.Error(), http.StatusInternalServerError) |
| 77 | return |
| 78 | } |
| 79 | |
| 80 | w.Write([]byte(value)) |
| 81 | |
| 82 | log.Printf("GET key=%s\n", key) |
| 83 | } |
| 84 | |
| 85 | func keyValueDeleteHandler(w http.ResponseWriter, r *http.Request) { |
| 86 | vars := mux.Vars(r) |