BindBody unmarshal the request body into the provided dst.
dst must be either a struct pointer or map[string]any.
The rules how the body will be scanned depends on the request Content-Type.
Currently the following Content-Types are supported:
- application/json
- text/xml, application/xml
- multipart/form-data, application/x-www-form-urlencoded
Respectively the following struct tags are supported (again, which one will be used depends on the Content-Type):
- "json" (json body)- uses the builtin Go json package for unmarshaling.
- "xml" (xml body) - uses the builtin Go xml package for unmarshaling.
- "form" (form data) - utilizes the custom [router.UnmarshalRequestData] method.
NB! When dst is a struct make sure that it doesn't have public fields that shouldn't be bindable and it is advisible such fields to be unexported or have a separate struct just for the binding. For example:
data := struct{
somethingPrivate string
Title string `json:"title" form:"title"`
Total int `json:"total" form:"total"`
}
err := e.BindBody(&data)
FileFS serves the specified filename from fsys.
It is similar to [echo.FileFS] for consistency with earlier versions.
FindUploadedFiles extracts all form files of "key" from a http request and returns a slice with filesystem.File instances (if any).
GetAll returns a copy of the current event data store.
RemoteIP returns the IP address of the client that sent the request.
IPv6 addresses are returned expanded. For example, "2001:db8::1" becomes "2001:0db8:0000:0000:0000:0000:0000:0001".
Note that if you are behind reverse proxy(ies), this method returns the IP of the last connecting proxy.
SetAll saves all items from m into the current event data store.
Written reports whether the current response has already been written.
This method always returns false if e.ResponseWritter doesn't implement the WriteTracker interface (all router package handlers receives a ResponseWritter that implements it unless explicitly replaced with a custom one).
Optional
requestGenerated using TypeDoc
Event specifies based Route handler event that is usually intended to be embedded as part of a custom event struct.
NB! It is expected that the Response and Request fields are always set.