Merge pull request #567 from smira/431-500-api

Fix possible cause for spurious 500s
This commit is contained in:
Andrey Smirnov
2017-05-17 15:32:52 +03:00
committed by GitHub
+9 -6
View File
@@ -27,20 +27,23 @@ func Router(c *ctx.AptlyContext) http.Handler {
go cacheFlusher(requests, acks) go cacheFlusher(requests, acks)
router.Use(func(c *gin.Context) { router.Use(func(c *gin.Context) {
var err error
requests <- acquiredb requests <- acquiredb
err := <-acks
if err != nil {
c.Fail(500, err)
return
}
defer func() { defer func() {
requests <- releasedb requests <- releasedb
err = <-acks err = <-acks
if err != nil { if err != nil {
c.Fail(500, err) c.Fail(500, err)
return
} }
}() }()
err = <-acks
if err != nil {
c.Fail(500, err)
return
}
c.Next() c.Next()
}) })