Compare commits
No commits in common. "2739dafe3d356a276d54c708d204475ef23ef24c" and "54ff777532f1acf6ab77e9deb3e3b7e5c201107d" have entirely different histories.
2739dafe3d
...
54ff777532
@ -10,7 +10,3 @@ type ResponseIndex struct {
|
|||||||
type ResponseAPIPost struct {
|
type ResponseAPIPost struct {
|
||||||
ID string `json:"id"`
|
ID string `json:"id"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type ResponseAPIList struct {
|
|
||||||
IDs []string `json:"ids"`
|
|
||||||
}
|
|
||||||
|
@ -34,7 +34,6 @@ func NewServer(s store.Store) *Server {
|
|||||||
r.Get("/", srv.HandlerIndexGet)
|
r.Get("/", srv.HandlerIndexGet)
|
||||||
r.Route("/api", func(r chi.Router) {
|
r.Route("/api", func(r chi.Router) {
|
||||||
r.Get("/{id}", srv.HandlerAPIGet)
|
r.Get("/{id}", srv.HandlerAPIGet)
|
||||||
r.Get("/", srv.HandlerAPIList)
|
|
||||||
r.Post("/", srv.HandlerAPIPost)
|
r.Post("/", srv.HandlerAPIPost)
|
||||||
})
|
})
|
||||||
|
|
||||||
@ -102,7 +101,6 @@ func (s *Server) HandlerAPIPost(w http.ResponseWriter, r *http.Request) {
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// Is not multipart
|
// Is not multipart
|
||||||
// TODO: Not working
|
|
||||||
if mediaType == "application/x-www-form-urlencoded" {
|
if mediaType == "application/x-www-form-urlencoded" {
|
||||||
if err := r.ParseForm(); err != nil {
|
if err := r.ParseForm(); err != nil {
|
||||||
log.Printf("Error parsing form: %s", err)
|
log.Printf("Error parsing form: %s", err)
|
||||||
@ -147,17 +145,3 @@ func (s *Server) HandlerAPIGet(w http.ResponseWriter, r *http.Request) {
|
|||||||
log.Panicf("Error writing to client: %s", err)
|
log.Panicf("Error writing to client: %s", err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *Server) HandlerAPIList(w http.ResponseWriter, r *http.Request) {
|
|
||||||
ids, err := s.store.List()
|
|
||||||
if err != nil {
|
|
||||||
log.Panicf("Error listing store contents: %s", err)
|
|
||||||
}
|
|
||||||
|
|
||||||
resp := &ResponseAPIList{IDs: ids}
|
|
||||||
encoder := json.NewEncoder(w)
|
|
||||||
|
|
||||||
if err := encoder.Encode(resp); err != nil {
|
|
||||||
log.Panicf("Error encoding response to client: %s", err)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
@ -8,8 +8,6 @@ import (
|
|||||||
"github.com/google/uuid"
|
"github.com/google/uuid"
|
||||||
)
|
)
|
||||||
|
|
||||||
var _ Store = &MemoryStore{}
|
|
||||||
|
|
||||||
type MemoryStore struct {
|
type MemoryStore struct {
|
||||||
data map[string][]byte
|
data map[string][]byte
|
||||||
}
|
}
|
||||||
@ -46,12 +44,3 @@ func (s *MemoryStore) Get(id string) (io.ReadCloser, error) {
|
|||||||
|
|
||||||
return r, nil
|
return r, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *MemoryStore) List() ([]string, error) {
|
|
||||||
var ids []string
|
|
||||||
for id := range s.data {
|
|
||||||
ids = append(ids, id)
|
|
||||||
}
|
|
||||||
|
|
||||||
return ids, nil
|
|
||||||
}
|
|
||||||
|
@ -11,5 +11,4 @@ type Store interface {
|
|||||||
Add(r io.Reader) (string, error)
|
Add(r io.Reader) (string, error)
|
||||||
Delete(id string) error
|
Delete(id string) error
|
||||||
Get(id string) (io.ReadCloser, error)
|
Get(id string) (io.ReadCloser, error)
|
||||||
List() ([]string, error)
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user