adding error handling and other things
This commit is contained in:
parent
1c16b54802
commit
549d91fbb4
6
bee.json
6
bee.json
@ -7,6 +7,12 @@
|
||||
},
|
||||
"cmd_args": [],
|
||||
"envs": [],
|
||||
"dir_structure": {
|
||||
"watch_all": true,
|
||||
"controllers": "controllers",
|
||||
"models": "models",
|
||||
"others": ["services"]
|
||||
},
|
||||
"database": {
|
||||
"driver": "postgres",
|
||||
"conn": "postgres://postgres:postgre@127.0.0.1:5435/system?sslmode=disable"
|
||||
|
@ -9,7 +9,8 @@ type JsonBasicResponse struct {
|
||||
Message string
|
||||
}
|
||||
|
||||
const JSON_ERROR int = 500
|
||||
const JSON_ERROR int = 400
|
||||
const JSON_INT_ERROR int = 500
|
||||
const JSON_SUCCESS int = 200
|
||||
|
||||
// BaseController operations for BaseController
|
||||
@ -17,14 +18,21 @@ type BaseController struct {
|
||||
beego.Controller
|
||||
}
|
||||
|
||||
func (this *BaseController) ServeJsonError(message string) {
|
||||
func (c *BaseController) ServeJsonError(message string) {
|
||||
json := JsonBasicResponse{JSON_ERROR, message}
|
||||
this.Data["json"] = &json
|
||||
this.ServeJSON()
|
||||
c.Data["json"] = &json
|
||||
///c.Ctx.ResponseWriter.WriteHeader(400)
|
||||
c.ServeJSON()
|
||||
}
|
||||
|
||||
func (this *BaseController) ServeJsonSuccess(message string) {
|
||||
json := JsonBasicResponse{JSON_SUCCESS, message}
|
||||
this.Data["json"] = &json
|
||||
this.ServeJSON()
|
||||
func (c *BaseController) ServeJsonErrorWithCode(errorcode int, message string) {
|
||||
json := JsonBasicResponse{errorcode, message}
|
||||
c.Data["json"] = &json
|
||||
c.ServeJSON()
|
||||
}
|
||||
|
||||
func (c *BaseController) ServeJsonSuccess(message string) {
|
||||
json := JsonBasicResponse{JSON_SUCCESS, message}
|
||||
c.Data["json"] = &json
|
||||
c.ServeJSON()
|
||||
}
|
||||
|
@ -1,36 +1,29 @@
|
||||
package controllers
|
||||
|
||||
import (
|
||||
//"fmt"
|
||||
"github.com/juusechec/jwt-beego"
|
||||
)
|
||||
|
||||
// BaseController operations for APIs
|
||||
type BaseAPIController struct {
|
||||
BaseController
|
||||
}
|
||||
|
||||
func (this *BaseAPIController) Prepare() {
|
||||
if this.Ctx.Input.Method() != "POST" {
|
||||
this.ServeJsonError("Method not allowed")
|
||||
}
|
||||
|
||||
//Lo que quieras hacer en todos los controladores
|
||||
// O puede ser leído de una cabecera HEADER!!
|
||||
tokenString := this.Ctx.Request.Header.Get("X-JWTtoken")
|
||||
et := jwtbeego.EasyToken{}
|
||||
valid, issuer, _ := et.ValidateToken(tokenString)
|
||||
if !valid {
|
||||
this.Ctx.Output.SetStatus(401)
|
||||
this.ServeJsonError("Invalid Token")
|
||||
}
|
||||
/*
|
||||
//Lo que quieras hacer en todos los controladores
|
||||
// O puede ser leído de una cabecera HEADER!!
|
||||
tokenString := this.Ctx.Request.Header.Get("X-JWTtoken")
|
||||
et := jwtbeego.EasyToken{}
|
||||
valid, issuer, _ := et.ValidateToken(tokenString)
|
||||
if !valid {
|
||||
this.Ctx.Output.SetStatus(401)
|
||||
this.ServeJsonError("Invalid Token")
|
||||
}
|
||||
/*
|
||||
userSession := this.GetSession("username")
|
||||
|
||||
userSession := this.GetSession("username")
|
||||
|
||||
if userSession == nil || userSession != issuer {
|
||||
this.Ctx.Output.SetStatus(401)
|
||||
this.ServeJsonError("Invalid Session")
|
||||
}
|
||||
|
||||
return
|
||||
if userSession == nil || userSession != issuer {
|
||||
this.Ctx.Output.SetStatus(401)
|
||||
this.ServeJsonError("Invalid Session")
|
||||
}
|
||||
*/
|
||||
//return
|
||||
}
|
||||
|
13
controllers/error.go
Normal file
13
controllers/error.go
Normal file
@ -0,0 +1,13 @@
|
||||
package controllers
|
||||
|
||||
type ErrorController struct {
|
||||
BaseController
|
||||
}
|
||||
|
||||
func (c *ErrorController) Error404() {
|
||||
c.ServeJsonErrorWithCode(404, "Not Found")
|
||||
}
|
||||
|
||||
func (c *ErrorController) Error500() {
|
||||
c.ServeJsonErrorWithCode(500, "Internal Server Error")
|
||||
}
|
14
controllers/index.go
Normal file
14
controllers/index.go
Normal file
@ -0,0 +1,14 @@
|
||||
package controllers
|
||||
|
||||
// IndexController operations for Index
|
||||
type IndexController struct {
|
||||
BaseController
|
||||
}
|
||||
|
||||
func (c *IndexController) Get() {
|
||||
c.ServeJsonSuccess("multitenant API")
|
||||
}
|
||||
|
||||
func (c *IndexController) Post() {
|
||||
c.ServeJsonSuccess("multitenant API")
|
||||
}
|
@ -1 +1 @@
|
||||
{"/Users/LB/go/src/multitenantStack/controllers":1541579833440000000}
|
||||
{"/Users/LB/go/src/multitenantStack/controllers":1541598684943144901}
|
@ -46,5 +46,7 @@ func init() {
|
||||
),
|
||||
),
|
||||
)
|
||||
beego.Router("/", &controllers.IndexController{})
|
||||
beego.ErrorController(&controllers.ErrorController{})
|
||||
beego.AddNamespace(ns)
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user