Abort requests when session transactions cannot start
Signed-off-by: Sean Du <do4suki@gmail.com>
This commit is contained in:
@@ -10,6 +10,9 @@ import (
|
|||||||
|
|
||||||
func active(ctx *gin.Context) {
|
func active(ctx *gin.Context) {
|
||||||
ss := session.Attach(ctx)
|
ss := session.Attach(ctx)
|
||||||
|
if ss.Done() {
|
||||||
|
return
|
||||||
|
}
|
||||||
defer ss.FinalizeOrRollback()
|
defer ss.FinalizeOrRollback()
|
||||||
|
|
||||||
ss.Respond(ghomeschema.ActiveResp{
|
ss.Respond(ghomeschema.ActiveResp{
|
||||||
|
|||||||
@@ -14,6 +14,9 @@ import (
|
|||||||
|
|
||||||
func initialize(ctx *gin.Context) {
|
func initialize(ctx *gin.Context) {
|
||||||
ss := session.Attach(ctx)
|
ss := session.Attach(ctx)
|
||||||
|
if ss.Done() {
|
||||||
|
return
|
||||||
|
}
|
||||||
defer ss.FinalizeOrRollback()
|
defer ss.FinalizeOrRollback()
|
||||||
|
|
||||||
initData := ghomeschema.InitializeData{
|
initData := ghomeschema.InitializeData{
|
||||||
|
|||||||
@@ -34,6 +34,9 @@ const (
|
|||||||
|
|
||||||
func login(ctx *gin.Context) {
|
func login(ctx *gin.Context) {
|
||||||
ss := session.Attach(ctx)
|
ss := session.Attach(ctx)
|
||||||
|
if ss.Done() {
|
||||||
|
return
|
||||||
|
}
|
||||||
defer ss.FinalizeOrRollback()
|
defer ss.FinalizeOrRollback()
|
||||||
|
|
||||||
data, err := ctx.GetRawData()
|
data, err := ctx.GetRawData()
|
||||||
|
|||||||
@@ -16,6 +16,9 @@ import (
|
|||||||
|
|
||||||
func loginAuto(ctx *gin.Context) {
|
func loginAuto(ctx *gin.Context) {
|
||||||
ss := session.Attach(ctx)
|
ss := session.Attach(ctx)
|
||||||
|
if ss.Done() {
|
||||||
|
return
|
||||||
|
}
|
||||||
defer ss.FinalizeOrRollback()
|
defer ss.FinalizeOrRollback()
|
||||||
|
|
||||||
data, err := ctx.GetRawData()
|
data, err := ctx.GetRawData()
|
||||||
|
|||||||
@@ -12,6 +12,9 @@ import (
|
|||||||
|
|
||||||
func reportRole(ctx *gin.Context) {
|
func reportRole(ctx *gin.Context) {
|
||||||
ss := session.Attach(ctx)
|
ss := session.Attach(ctx)
|
||||||
|
if ss.Done() {
|
||||||
|
return
|
||||||
|
}
|
||||||
defer ss.FinalizeOrRollback()
|
defer ss.FinalizeOrRollback()
|
||||||
|
|
||||||
randKey, err := ss.Get3DESRandKey()
|
randKey, err := ss.Get3DESRandKey()
|
||||||
|
|||||||
@@ -11,6 +11,9 @@ import (
|
|||||||
|
|
||||||
func getCode(ctx *gin.Context) {
|
func getCode(ctx *gin.Context) {
|
||||||
ss := session.Attach(ctx)
|
ss := session.Attach(ctx)
|
||||||
|
if ss.Done() {
|
||||||
|
return
|
||||||
|
}
|
||||||
defer ss.FinalizeOrRollback()
|
defer ss.FinalizeOrRollback()
|
||||||
|
|
||||||
codeArray := `{"codeArray":[{"btntext":"好的","code":"-10264022","msg_from":2,"text":"","title":"短信验证码被阻止","type":1},{"btntext":"","code":"-10869623","msg_from":2,"text":"","title":"网络连接失败,无法一键登录","type":2},{"btntext":"","code":"10298300","msg_from":2,"text":"","title":"","type":3},{"btntext":"","code":"10298311","msg_from":2,"text":"","title":"","type":3},{"btntext":"","code":"10298312","msg_from":2,"text":"","title":"","type":3},{"btntext":"","code":"10298313","msg_from":2,"text":"","title":"","type":1},{"btntext":"","code":"10298321","msg_from":2,"text":"","title":"","type":3},{"btntext":"","code":"10298322","msg_from":2,"text":"","title":"","type":3}],"codeVersion":"1.0.5"}`
|
codeArray := `{"codeArray":[{"btntext":"好的","code":"-10264022","msg_from":2,"text":"","title":"短信验证码被阻止","type":1},{"btntext":"","code":"-10869623","msg_from":2,"text":"","title":"网络连接失败,无法一键登录","type":2},{"btntext":"","code":"10298300","msg_from":2,"text":"","title":"","type":3},{"btntext":"","code":"10298311","msg_from":2,"text":"","title":"","type":3},{"btntext":"","code":"10298312","msg_from":2,"text":"","title":"","type":3},{"btntext":"","code":"10298313","msg_from":2,"text":"","title":"","type":1},{"btntext":"","code":"10298321","msg_from":2,"text":"","title":"","type":3},{"btntext":"","code":"10298322","msg_from":2,"text":"","title":"","type":3}],"codeVersion":"1.0.5"}`
|
||||||
|
|||||||
@@ -10,6 +10,9 @@ import (
|
|||||||
|
|
||||||
func getProductList(ctx *gin.Context) {
|
func getProductList(ctx *gin.Context) {
|
||||||
ss := session.Attach(ctx)
|
ss := session.Attach(ctx)
|
||||||
|
if ss.Done() {
|
||||||
|
return
|
||||||
|
}
|
||||||
defer ss.FinalizeOrRollback()
|
defer ss.FinalizeOrRollback()
|
||||||
|
|
||||||
getProductListData := ghomeschema.GetProductListData{
|
getProductListData := ghomeschema.GetProductListData{
|
||||||
|
|||||||
@@ -18,6 +18,9 @@ import (
|
|||||||
|
|
||||||
func handshake(ctx *gin.Context) {
|
func handshake(ctx *gin.Context) {
|
||||||
ss := session.Attach(ctx)
|
ss := session.Attach(ctx)
|
||||||
|
if ss.Done() {
|
||||||
|
return
|
||||||
|
}
|
||||||
defer ss.FinalizeOrRollback()
|
defer ss.FinalizeOrRollback()
|
||||||
|
|
||||||
data, err := ctx.GetRawData()
|
data, err := ctx.GetRawData()
|
||||||
|
|||||||
@@ -10,6 +10,9 @@ import (
|
|||||||
|
|
||||||
func loginArea(ctx *gin.Context) {
|
func loginArea(ctx *gin.Context) {
|
||||||
ss := session.Attach(ctx)
|
ss := session.Attach(ctx)
|
||||||
|
if ss.Done() {
|
||||||
|
return
|
||||||
|
}
|
||||||
defer ss.FinalizeOrRollback()
|
defer ss.FinalizeOrRollback()
|
||||||
|
|
||||||
ss.Respond(ghomeschema.LoginAreaResp{
|
ss.Respond(ghomeschema.LoginAreaResp{
|
||||||
|
|||||||
@@ -14,6 +14,9 @@ import (
|
|||||||
|
|
||||||
func publicKey(ctx *gin.Context) {
|
func publicKey(ctx *gin.Context) {
|
||||||
ss := session.Attach(ctx)
|
ss := session.Attach(ctx)
|
||||||
|
if ss.Done() {
|
||||||
|
return
|
||||||
|
}
|
||||||
defer ss.FinalizeOrRollback()
|
defer ss.FinalizeOrRollback()
|
||||||
|
|
||||||
publicKeyCode := 0
|
publicKeyCode := 0
|
||||||
|
|||||||
@@ -10,6 +10,9 @@ import (
|
|||||||
|
|
||||||
func status(ctx *gin.Context) {
|
func status(ctx *gin.Context) {
|
||||||
ss := session.Attach(ctx)
|
ss := session.Attach(ctx)
|
||||||
|
if ss.Done() {
|
||||||
|
return
|
||||||
|
}
|
||||||
defer ss.FinalizeOrRollback()
|
defer ss.FinalizeOrRollback()
|
||||||
|
|
||||||
ss.Respond(ghomeschema.GuestStatusResp{
|
ss.Respond(ghomeschema.GuestStatusResp{
|
||||||
|
|||||||
@@ -10,6 +10,9 @@ import (
|
|||||||
|
|
||||||
func agreement(ctx *gin.Context) {
|
func agreement(ctx *gin.Context) {
|
||||||
ss := session.Attach(ctx)
|
ss := session.Attach(ctx)
|
||||||
|
if ss.Done() {
|
||||||
|
return
|
||||||
|
}
|
||||||
defer ss.FinalizeOrRollback()
|
defer ss.FinalizeOrRollback()
|
||||||
|
|
||||||
ss.Respond(ghomeschema.AgreementResp{
|
ss.Respond(ghomeschema.AgreementResp{
|
||||||
|
|||||||
@@ -10,6 +10,9 @@ import (
|
|||||||
|
|
||||||
func appReport(ctx *gin.Context) {
|
func appReport(ctx *gin.Context) {
|
||||||
ss := session.Attach(ctx)
|
ss := session.Attach(ctx)
|
||||||
|
if ss.Done() {
|
||||||
|
return
|
||||||
|
}
|
||||||
defer ss.FinalizeOrRollback()
|
defer ss.FinalizeOrRollback()
|
||||||
|
|
||||||
ss.Respond(ghomeschema.AppReportResp{
|
ss.Respond(ghomeschema.AppReportResp{
|
||||||
|
|||||||
@@ -51,7 +51,9 @@ func New(ctx *gin.Context) *Session {
|
|||||||
|
|
||||||
ss.MainEng = db.MainEng.NewSession()
|
ss.MainEng = db.MainEng.NewSession()
|
||||||
ss.UserEng = db.UserEng.NewSession()
|
ss.UserEng = db.UserEng.NewSession()
|
||||||
ss.UserEng.Begin()
|
if err := ss.UserEng.Begin(); err != nil {
|
||||||
|
ss.Abort(err)
|
||||||
|
}
|
||||||
|
|
||||||
return ss
|
return ss
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user