package WorstCaptcha
|
|
|
|
import (
|
|
"github.com/gorilla/mux"
|
|
"net/http"
|
|
"encoding/json"
|
|
)
|
|
|
|
var GlobalDb Db
|
|
|
|
type Route struct {
|
|
Name string
|
|
Method string
|
|
Pattern string
|
|
Handler http.HandlerFunc
|
|
}
|
|
|
|
type Routes []Route
|
|
|
|
func NewRouter(db Db) *mux.Router {
|
|
router := mux.NewRouter().StrictSlash(true)
|
|
|
|
GlobalDb = db
|
|
|
|
for _, route := range routes {
|
|
router.
|
|
Methods(route.Method).
|
|
Path(route.Pattern).
|
|
Name(route.Name).
|
|
Handler(route.Handler)
|
|
}
|
|
|
|
return router
|
|
}
|
|
|
|
var routes = Routes{
|
|
Route{
|
|
Name: "RequestCaptcha",
|
|
Method: "GET",
|
|
Pattern: "/v1/captcha/",
|
|
Handler: RequestCaptcha,
|
|
},
|
|
}
|
|
|
|
type ResponseCaptcha struct {
|
|
ImageLocation string `json:"image_location"`
|
|
ResponseLocation string `json:"response_location"`
|
|
}
|
|
|
|
func RequestCaptcha(w http.ResponseWriter, r *http.Request) {
|
|
response := ResponseCaptcha{"aoeu", "asdf"}
|
|
|
|
// fmt.Println(GlobalDb)
|
|
|
|
w.Header().Set("Content-Type", "application/json; charset=UTF-8")
|
|
|
|
w.WriteHeader(http.StatusOK)
|
|
json.NewEncoder(w).Encode(response)
|
|
}
|