Files
zitadel/internal/form/parser.go
2024-09-19 12:21:50 +02:00

29 lines
490 B
Go

package form
import (
"net/http"
"github.com/gorilla/schema"
"github.com/zitadel/zitadel/v2/internal/zerrors"
)
type Parser struct {
decoder *schema.Decoder
}
func NewParser() *Parser {
d := schema.NewDecoder()
d.IgnoreUnknownKeys(true)
return &Parser{d}
}
func (p *Parser) Parse(r *http.Request, data interface{}) error {
err := r.ParseForm()
if err != nil {
return zerrors.ThrowInternal(err, "FORM-lCC9zI", "Errors.Internal")
}
return p.decoder.Decode(data, r.Form)
}