aicra/internal/multipart/types.go

47 lines
1.1 KiB
Go
Raw Normal View History

package multipart
import (
"bufio"
)
// ConstError is a wrapper to set constant errors
type ConstError string
// Error implements error
func (err ConstError) Error() string {
return string(err)
}
2018-09-25 19:22:25 +00:00
// ErrMissingDataName is set when a multipart variable/file has no name="..."
var ErrMissingDataName = ConstError("data has no name")
2018-09-25 19:22:25 +00:00
// ErrDataNameConflict is set when a multipart variable/file name is already used
var ErrDataNameConflict = ConstError("data name conflict")
2018-09-25 19:22:25 +00:00
// ErrNoHeader is set when a multipart variable/file has no (valid) header
var ErrNoHeader = ConstError("data has no header")
2018-09-25 19:22:25 +00:00
// Component represents a multipart variable/file
type Component struct {
// Content Type (raw for variables ; exported from files)
ContentType string
// data headers
Headers map[string]string
// actual data
Data []byte
}
2018-07-08 23:34:21 +00:00
// Reader represents a multipart reader
type Reader struct {
// reader used for http.Request.Body reading
reader *bufio.Reader
2018-09-25 19:22:25 +00:00
// boundary used to separate multipart MultipartDatas
boundary string
// result will be inside this field
2018-09-25 19:22:25 +00:00
Data map[string]*Component
}