handles get requests.
(w http.ResponseWriter, r *http.Request)
| 22 | |
| 23 | // handles get requests. |
| 24 | func getCacheHandler(w http.ResponseWriter, r *http.Request) { |
| 25 | target := r.URL.Path[len(cachePath):] |
| 26 | if target == "" { |
| 27 | w.WriteHeader(http.StatusBadRequest) |
| 28 | w.Write([]byte("can't get a key if there is no key.")) |
| 29 | log.Print("empty request.") |
| 30 | return |
| 31 | } |
| 32 | entry, err := cache.Get(target) |
| 33 | if err != nil { |
| 34 | errMsg := (err).Error() |
| 35 | if strings.Contains(errMsg, "not found") { |
| 36 | log.Print(err) |
| 37 | w.WriteHeader(http.StatusNotFound) |
| 38 | return |
| 39 | } |
| 40 | log.Print(err) |
| 41 | w.WriteHeader(http.StatusInternalServerError) |
| 42 | return |
| 43 | } |
| 44 | w.Write(entry) |
| 45 | } |
| 46 | |
| 47 | func putCacheHandler(w http.ResponseWriter, r *http.Request) { |
| 48 | target := r.URL.Path[len(cachePath):] |
searching dependent graphs…