mirror of
https://github.com/pushbits/server.git
synced 2025-04-30 10:46:55 +02:00
39 lines
873 B
Go
39 lines
873 B
Go
package api
|
|
|
|
import (
|
|
"github.com/gin-gonic/gin"
|
|
)
|
|
|
|
type idInURI struct {
|
|
ID uint `uri:"id" binding:"required"`
|
|
}
|
|
|
|
type messageIdInURI struct {
|
|
MessageID string `uri:"messageid" binding:"required"`
|
|
}
|
|
|
|
// RequireIDInURI returns a Gin middleware which requires an ID to be supplied in the URI of the request.
|
|
func RequireIDInURI() gin.HandlerFunc {
|
|
return func(ctx *gin.Context) {
|
|
var requestModel idInURI
|
|
|
|
if err := ctx.BindUri(&requestModel); err != nil {
|
|
return
|
|
}
|
|
|
|
ctx.Set("id", requestModel.ID)
|
|
}
|
|
}
|
|
|
|
// RequireMessageIDInURI returns a Gin middleware which requires an messageID to be supplied in the URI of the request.
|
|
func RequireMessageIDInURI() gin.HandlerFunc {
|
|
return func(ctx *gin.Context) {
|
|
var requestModel messageIdInURI
|
|
|
|
if err := ctx.BindUri(&requestModel); err != nil {
|
|
return
|
|
}
|
|
|
|
ctx.Set("messageid", requestModel.MessageID)
|
|
}
|
|
}
|