25 lines
470 B
Go
25 lines
470 B
Go
package utils
|
|
|
|
import (
|
|
"context"
|
|
"fmt"
|
|
|
|
"github.com/gin-gonic/gin"
|
|
)
|
|
|
|
// GinContext to get gin context from context
|
|
func GinContextFromContext(ctx context.Context) (*gin.Context, error) {
|
|
ginContext := ctx.Value("GinContextKey")
|
|
if ginContext == nil {
|
|
err := fmt.Errorf("could not retrieve gin.Context")
|
|
return nil, err
|
|
}
|
|
|
|
gc, ok := ginContext.(*gin.Context)
|
|
if !ok {
|
|
err := fmt.Errorf("gin.Context has wrong type")
|
|
return nil, err
|
|
}
|
|
return gc, nil
|
|
}
|