This repository has been archived on 2025-03-30. You can view files and clone it, but cannot push or open issues or pull requests.
bactdb/api/handler.go
Matthew Dillon 7fe5566edf Create species, cleanup schema.
- create species
- species genus_id not null
2014-10-15 16:43:09 -08:00

47 lines
1.2 KiB
Go

package api
import (
"fmt"
"log"
"net/http"
"github.com/gorilla/mux"
"github.com/gorilla/schema"
"github.com/thermokarst/bactdb/datastore"
"github.com/thermokarst/bactdb/router"
)
var (
store = datastore.NewDatastore(nil)
schemaDecoder = schema.NewDecoder()
)
func Handler() *mux.Router {
m := router.API()
m.Get(router.User).Handler(handler(serveUser))
m.Get(router.CreateUser).Handler(handler(serveCreateUser))
m.Get(router.Users).Handler(handler(serveUsers))
m.Get(router.Genus).Handler(handler(serveGenus))
m.Get(router.CreateGenus).Handler(handler(serveCreateGenus))
m.Get(router.Genera).Handler(handler(serveGenera))
m.Get(router.UpdateGenus).Handler(handler(serveUpdateGenus))
m.Get(router.DeleteGenus).Handler(handler(serveDeleteGenus))
m.Get(router.Species).Handler(handler(serveSpecies))
m.Get(router.CreateSpecies).Handler(handler(serveCreateSpecies))
return m
}
type handler func(http.ResponseWriter, *http.Request) error
func (h handler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
err := h(w, r)
if err != nil {
w.WriteHeader(http.StatusInternalServerError)
fmt.Fprintf(w, "error: %s", err)
log.Println(err)
}
}