mirror of
https://github.com/fnproject/fn.git
synced 2022-10-28 21:29:17 +03:00
Updated ctx to MiddlewareContext in various places.
This commit is contained in:
@@ -1,24 +1,22 @@
|
|||||||
package server
|
package server
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
|
||||||
|
|
||||||
"gitlab-odx.oracle.com/odx/functions/api/models"
|
"gitlab-odx.oracle.com/odx/functions/api/models"
|
||||||
)
|
)
|
||||||
|
|
||||||
type AppListener interface {
|
type AppListener interface {
|
||||||
// BeforeAppCreate called right before creating App in the database
|
// BeforeAppCreate called right before creating App in the database
|
||||||
BeforeAppCreate(ctx context.Context, app *models.App) error
|
BeforeAppCreate(ctx MiddlewareContext, app *models.App) error
|
||||||
// AfterAppCreate called after creating App in the database
|
// AfterAppCreate called after creating App in the database
|
||||||
AfterAppCreate(ctx context.Context, app *models.App) error
|
AfterAppCreate(ctx MiddlewareContext, app *models.App) error
|
||||||
// BeforeAppUpdate called right before updating App in the database
|
// BeforeAppUpdate called right before updating App in the database
|
||||||
BeforeAppUpdate(ctx context.Context, app *models.App) error
|
BeforeAppUpdate(ctx MiddlewareContext, app *models.App) error
|
||||||
// AfterAppUpdate called after updating App in the database
|
// AfterAppUpdate called after updating App in the database
|
||||||
AfterAppUpdate(ctx context.Context, app *models.App) error
|
AfterAppUpdate(ctx MiddlewareContext, app *models.App) error
|
||||||
// BeforeAppDelete called right before deleting App in the database
|
// BeforeAppDelete called right before deleting App in the database
|
||||||
BeforeAppDelete(ctx context.Context, app *models.App) error
|
BeforeAppDelete(ctx MiddlewareContext, app *models.App) error
|
||||||
// AfterAppDelete called after deleting App in the database
|
// AfterAppDelete called after deleting App in the database
|
||||||
AfterAppDelete(ctx context.Context, app *models.App) error
|
AfterAppDelete(ctx MiddlewareContext, app *models.App) error
|
||||||
}
|
}
|
||||||
|
|
||||||
// AddAppCreateListener adds a listener that will be notified on App created.
|
// AddAppCreateListener adds a listener that will be notified on App created.
|
||||||
@@ -26,7 +24,7 @@ func (s *Server) AddAppListener(listener AppListener) {
|
|||||||
s.appListeners = append(s.appListeners, listener)
|
s.appListeners = append(s.appListeners, listener)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *Server) FireBeforeAppCreate(ctx context.Context, app *models.App) error {
|
func (s *Server) FireBeforeAppCreate(ctx MiddlewareContext, app *models.App) error {
|
||||||
for _, l := range s.appListeners {
|
for _, l := range s.appListeners {
|
||||||
err := l.BeforeAppCreate(ctx, app)
|
err := l.BeforeAppCreate(ctx, app)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@@ -36,7 +34,7 @@ func (s *Server) FireBeforeAppCreate(ctx context.Context, app *models.App) error
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *Server) FireAfterAppCreate(ctx context.Context, app *models.App) error {
|
func (s *Server) FireAfterAppCreate(ctx MiddlewareContext, app *models.App) error {
|
||||||
for _, l := range s.appListeners {
|
for _, l := range s.appListeners {
|
||||||
err := l.AfterAppCreate(ctx, app)
|
err := l.AfterAppCreate(ctx, app)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@@ -46,7 +44,7 @@ func (s *Server) FireAfterAppCreate(ctx context.Context, app *models.App) error
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *Server) FireBeforeAppUpdate(ctx context.Context, app *models.App) error {
|
func (s *Server) FireBeforeAppUpdate(ctx MiddlewareContext, app *models.App) error {
|
||||||
for _, l := range s.appListeners {
|
for _, l := range s.appListeners {
|
||||||
err := l.BeforeAppUpdate(ctx, app)
|
err := l.BeforeAppUpdate(ctx, app)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@@ -56,7 +54,7 @@ func (s *Server) FireBeforeAppUpdate(ctx context.Context, app *models.App) error
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *Server) FireAfterAppUpdate(ctx context.Context, app *models.App) error {
|
func (s *Server) FireAfterAppUpdate(ctx MiddlewareContext, app *models.App) error {
|
||||||
for _, l := range s.appListeners {
|
for _, l := range s.appListeners {
|
||||||
err := l.AfterAppUpdate(ctx, app)
|
err := l.AfterAppUpdate(ctx, app)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@@ -66,7 +64,7 @@ func (s *Server) FireAfterAppUpdate(ctx context.Context, app *models.App) error
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *Server) FireBeforeAppDelete(ctx context.Context, app *models.App) error {
|
func (s *Server) FireBeforeAppDelete(ctx MiddlewareContext, app *models.App) error {
|
||||||
for _, l := range s.appListeners {
|
for _, l := range s.appListeners {
|
||||||
err := l.BeforeAppDelete(ctx, app)
|
err := l.BeforeAppDelete(ctx, app)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@@ -76,7 +74,7 @@ func (s *Server) FireBeforeAppDelete(ctx context.Context, app *models.App) error
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *Server) FireAfterAppDelete(ctx context.Context, app *models.App) error {
|
func (s *Server) FireAfterAppDelete(ctx MiddlewareContext, app *models.App) error {
|
||||||
for _, l := range s.appListeners {
|
for _, l := range s.appListeners {
|
||||||
err := l.AfterAppDelete(ctx, app)
|
err := l.AfterAppDelete(ctx, app)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
package server
|
package server
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
|
||||||
"net/http"
|
"net/http"
|
||||||
|
|
||||||
"github.com/gin-gonic/gin"
|
"github.com/gin-gonic/gin"
|
||||||
@@ -10,7 +9,7 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
func (s *Server) handleAppCreate(c *gin.Context) {
|
func (s *Server) handleAppCreate(c *gin.Context) {
|
||||||
ctx := c.MustGet("ctx").(context.Context)
|
ctx := c.MustGet("mctx").(MiddlewareContext)
|
||||||
log := common.Logger(ctx)
|
log := common.Logger(ctx)
|
||||||
|
|
||||||
var wapp models.AppWrapper
|
var wapp models.AppWrapper
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
package server
|
package server
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
|
||||||
"net/http"
|
"net/http"
|
||||||
|
|
||||||
"github.com/gin-gonic/gin"
|
"github.com/gin-gonic/gin"
|
||||||
@@ -11,7 +10,7 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
func (s *Server) handleAppDelete(c *gin.Context) {
|
func (s *Server) handleAppDelete(c *gin.Context) {
|
||||||
ctx := c.MustGet("ctx").(context.Context)
|
ctx := c.MustGet("mctx").(MiddlewareContext)
|
||||||
log := common.Logger(ctx)
|
log := common.Logger(ctx)
|
||||||
|
|
||||||
app := &models.App{Name: c.MustGet(api.AppName).(string)}
|
app := &models.App{Name: c.MustGet(api.AppName).(string)}
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
package server
|
package server
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
|
||||||
"net/http"
|
"net/http"
|
||||||
|
|
||||||
"github.com/gin-gonic/gin"
|
"github.com/gin-gonic/gin"
|
||||||
@@ -11,7 +10,7 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
func (s *Server) handleAppUpdate(c *gin.Context) {
|
func (s *Server) handleAppUpdate(c *gin.Context) {
|
||||||
ctx := c.MustGet("ctx").(context.Context)
|
ctx := c.MustGet("mctx").(MiddlewareContext)
|
||||||
log := common.Logger(ctx)
|
log := common.Logger(ctx)
|
||||||
|
|
||||||
wapp := models.AppWrapper{}
|
wapp := models.AppWrapper{}
|
||||||
|
|||||||
@@ -100,6 +100,8 @@ func (s *Server) middlewareWrapperFunc(ctx context.Context) gin.HandlerFunc {
|
|||||||
}
|
}
|
||||||
ctx = c.MustGet("ctx").(context.Context)
|
ctx = c.MustGet("ctx").(context.Context)
|
||||||
fctx := &middlewareContextImpl{Context: ctx}
|
fctx := &middlewareContextImpl{Context: ctx}
|
||||||
|
// add this context to gin context so we can grab it later
|
||||||
|
c.Set("mctx", fctx)
|
||||||
fctx.index = -1
|
fctx.index = -1
|
||||||
fctx.ginContext = c
|
fctx.ginContext = c
|
||||||
fctx.middlewares = s.middlewares
|
fctx.middlewares = s.middlewares
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ import (
|
|||||||
Patch accepts partial updates / skips validation of zero values.
|
Patch accepts partial updates / skips validation of zero values.
|
||||||
*/
|
*/
|
||||||
func (s *Server) handleRouteCreateOrUpdate(c *gin.Context) {
|
func (s *Server) handleRouteCreateOrUpdate(c *gin.Context) {
|
||||||
ctx := c.MustGet("ctx").(context.Context)
|
ctx := c.MustGet("mctx").(MiddlewareContext)
|
||||||
log := common.Logger(ctx)
|
log := common.Logger(ctx)
|
||||||
method := strings.ToUpper(c.Request.Method)
|
method := strings.ToUpper(c.Request.Method)
|
||||||
|
|
||||||
@@ -38,7 +38,7 @@ func (s *Server) handleRouteCreateOrUpdate(c *gin.Context) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Create the app if it does not exist.
|
// Create the app if it does not exist.
|
||||||
err, resperr = s.ensureApp(ctx, c, &wroute, method)
|
err, resperr = s.ensureApp(ctx, &wroute, method)
|
||||||
if err != nil || resperr != nil {
|
if err != nil || resperr != nil {
|
||||||
log.WithError(err).Debug(resperr)
|
log.WithError(err).Debug(resperr)
|
||||||
handleErrorResponse(c, resperr)
|
handleErrorResponse(c, resperr)
|
||||||
@@ -57,7 +57,7 @@ func (s *Server) handleRouteCreateOrUpdate(c *gin.Context) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// ensureApp will only execute if it is on post or put. Patch is not allowed to create apps.
|
// ensureApp will only execute if it is on post or put. Patch is not allowed to create apps.
|
||||||
func (s *Server) ensureApp(ctx context.Context, c *gin.Context, wroute *models.RouteWrapper, method string) (error, error) {
|
func (s *Server) ensureApp(ctx MiddlewareContext, wroute *models.RouteWrapper, method string) (error, error) {
|
||||||
if !(method == http.MethodPost || method == http.MethodPut) {
|
if !(method == http.MethodPost || method == http.MethodPut) {
|
||||||
return nil, nil
|
return nil, nil
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user