// POST /{network}/reservations func handleAddReservation(ctx context.Context, sm subnet.Manager, w http.ResponseWriter, r *http.Request) { network := mux.Vars(r)["network"] if network == "_" { network = "" } rsv := &subnet.Reservation{} if err := json.NewDecoder(r.Body).Decode(rsv); err != nil { w.WriteHeader(http.StatusBadRequest) fmt.Fprint(w, "JSON decoding error: ", err) return } if err := sm.AddReservation(ctx, network, rsv); err != nil { w.WriteHeader(http.StatusInternalServerError) fmt.Fprint(w, fmt.Errorf("internal error: %v", err)) return } }