func (h HTTPSHandler) getBlob(w http.ResponseWriter, r *http.Request) { _, blobID := path.Split(r.URL.Path) blobManager := blobstore.NewBlobManager(h.fs, h.dirProvider) blobBytes, err := blobManager.Fetch(blobID) if err != nil { w.WriteHeader(404) } else { w.Write(blobBytes) } }
func (h HTTPSHandler) putBlob(w http.ResponseWriter, r *http.Request) { _, blobID := path.Split(r.URL.Path) blobManager := blobstore.NewBlobManager(h.fs, h.dirProvider) payload, err := ioutil.ReadAll(r.Body) if err != nil { w.WriteHeader(500) w.Write([]byte(err.Error())) return } err = blobManager.Write(blobID, payload) if err != nil { w.WriteHeader(500) w.Write([]byte(err.Error())) return } w.WriteHeader(201) }