|
@@ -1,6 +1,7 @@
|
|
package handlers
|
|
package handlers
|
|
|
|
|
|
import (
|
|
import (
|
|
|
|
+ "encoding/json"
|
|
"fmt"
|
|
"fmt"
|
|
"io/ioutil"
|
|
"io/ioutil"
|
|
"log"
|
|
"log"
|
|
@@ -200,7 +201,6 @@ func get(w http.ResponseWriter, r *http.Request, model string, pattern PathPatte
|
|
if err != nil {
|
|
if err != nil {
|
|
respondWithError(w, r, err)
|
|
respondWithError(w, r, err)
|
|
} else {
|
|
} else {
|
|
- log.Println("AFTER REDIRECT:", r.URL)
|
|
|
|
data, err := getFn(mux.Vars(r))
|
|
data, err := getFn(mux.Vars(r))
|
|
if err != nil {
|
|
if err != nil {
|
|
renderer.Render[format](w, r, err)
|
|
renderer.Render[format](w, r, err)
|
|
@@ -282,14 +282,13 @@ func delete(w http.ResponseWriter, r *http.Request, model string, pattern PathPa
|
|
if err != nil {
|
|
if err != nil {
|
|
renderer.Render["html"](w, r, err)
|
|
renderer.Render["html"](w, r, err)
|
|
} else if pattern.RedirectPattern != "" {
|
|
} else if pattern.RedirectPattern != "" {
|
|
- // if id := mux.Vars(r)["id"]; id != "" {
|
|
|
|
- // modelId, _ := strconv.Atoi(id)
|
|
|
|
- // http.Redirect(w, r, pattern.RedirectPath(model, uint(modelId)), http.StatusSeeOther)
|
|
|
|
- // } else {
|
|
|
|
- // http.Redirect(w, r, pattern.RedirectPath(model, data.GetID()), http.StatusSeeOther)
|
|
|
|
- // }
|
|
|
|
- log.Println("REDIRECT:", pattern.RedirectPath(model))
|
|
|
|
- http.Redirect(w, r, pattern.RedirectPath(model), http.StatusSeeOther)
|
|
|
|
|
|
+ var data struct {
|
|
|
|
+ RedirectUrl string `json:"redirect_url"`
|
|
|
|
+ }
|
|
|
|
+ data.RedirectUrl = pattern.RedirectPath(model)
|
|
|
|
+
|
|
|
|
+ w.Header().Set("Content-Type", "application/json")
|
|
|
|
+ json.NewEncoder(w).Encode(data)
|
|
} else {
|
|
} else {
|
|
renderer.Render[respFormat](w, r, data.GetID())
|
|
renderer.Render[respFormat](w, r, data.GetID())
|
|
}
|
|
}
|
|
@@ -299,7 +298,6 @@ func modelHandler(model string, pattern PathPattern) http.Handler {
|
|
fn := func(w http.ResponseWriter, r *http.Request) {
|
|
fn := func(w http.ResponseWriter, r *http.Request) {
|
|
switch r.Method {
|
|
switch r.Method {
|
|
case "GET":
|
|
case "GET":
|
|
- log.Println("AFTER AFTER REDIRECT", model, pattern)
|
|
|
|
get(w, r, model, pattern)
|
|
get(w, r, model, pattern)
|
|
|
|
|
|
case "POST":
|
|
case "POST":
|
|
@@ -307,6 +305,7 @@ func modelHandler(model string, pattern PathPattern) http.Handler {
|
|
|
|
|
|
case "DELETE":
|
|
case "DELETE":
|
|
delete(w, r, model, pattern)
|
|
delete(w, r, model, pattern)
|
|
|
|
+ break
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|