httputil

package
v5.5.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 27, 2024 License: AGPL-3.0 Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrInvalidBody      = errors.New("the body of your request contains invalid or un-parseable data. Please check and try again")
	ErrRequestBodyEmpty = errors.New("the request body must not be empty")
	ErrInvalidUUID      = errors.New("the specified resource ID is not a valid UUID")
)

Functions

func BindData

func BindData(c *gin.Context, data interface{}) error

BindData binds the data from the request to the struct passed in the interface.

func GetBodyFields

func GetBodyFields(c *gin.Context, resource any) ([]any, error)

GetBodyFields returns a slice of strings with the field names of the resource passed in. Only names of fields which are set in the body are contained in that slice.

This function reads and copies the request body, it must always be called before any of gin's c.*Bind methods.

func GetURLFields

func GetURLFields(url *url.URL, filter any) ([]any, []string)

GetURLFields checks which query parameters are set and which query parameters are set and can be used directly in a gorm query

queryFields contains all field names that can be used directly in a gorm Where statament as argument to specify the fields filtered on. As gorm uses interface{} as type for the Where statement, we cannot use a []string type here.

setFields returns a []string with all field names set in the query parameters. This can be useful to filter for zero values without defining them as pointer fields in gorm.

func OptionsDelete

func OptionsDelete(c *gin.Context)

func OptionsGet

func OptionsGet(c *gin.Context)

func OptionsGetDelete

func OptionsGetDelete(c *gin.Context)

func OptionsGetPatch

func OptionsGetPatch(c *gin.Context)

func OptionsGetPatchDelete

func OptionsGetPatchDelete(c *gin.Context)

func OptionsGetPost

func OptionsGetPost(c *gin.Context)

func OptionsGetPostDelete

func OptionsGetPostDelete(c *gin.Context)

func OptionsGetPostPatchDelete

func OptionsGetPostPatchDelete(c *gin.Context)

func OptionsPost

func OptionsPost(c *gin.Context)

func UUIDFromString

func UUIDFromString(s string) (uuid.UUID, error)

UUIDFromString binds a string to a UUID

This is needed because gin does not support form binding to uuid.UUID currently. Follow https://github.com/gin-gonic/gin/pull/3045 to see when this gets resolved.

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL