multipart: rename files and unexport errors
This commit is contained in:
parent
4ba62e19c7
commit
caa57889b4
|
@ -13,19 +13,19 @@ func (comp *Component) parseHeaders(_raw []byte) error {
|
|||
// 1. Extract lines
|
||||
_lines := strings.Split(string(_raw), "\n")
|
||||
if len(_lines) < 2 {
|
||||
return ErrNoHeader
|
||||
return errNoHeader
|
||||
}
|
||||
|
||||
// 2. trim each line + remove 'Content-Disposition' prefix
|
||||
header := strings.Trim(_lines[0], " \t\r")
|
||||
|
||||
if !strings.HasPrefix(header, "Content-Disposition: form-data;") {
|
||||
return ErrNoHeader
|
||||
return errNoHeader
|
||||
}
|
||||
header = strings.Trim(header[len("Content-Disposition: form-data;"):], " \t\r")
|
||||
|
||||
if len(header) < 1 {
|
||||
return ErrNoHeader
|
||||
return errNoHeader
|
||||
}
|
||||
|
||||
// 3. Extract each key-value pair
|
||||
|
|
|
@ -3,19 +3,18 @@ package multipart
|
|||
// cerr allows you to create constant "const" error with type boxing.
|
||||
type cerr string
|
||||
|
||||
// Error implements the error builtin interface.
|
||||
func (err cerr) Error() string {
|
||||
return string(err)
|
||||
}
|
||||
|
||||
// ErrMissingDataName is set when a multipart variable/file has no name="..."
|
||||
const ErrMissingDataName = cerr("data has no name")
|
||||
// errMissingDataName is set when a multipart variable/file has no name="..."
|
||||
const errMissingDataName = cerr("data has no name")
|
||||
|
||||
// ErrDataNameConflict is set when a multipart variable/file name is already used
|
||||
const ErrDataNameConflict = cerr("data name conflict")
|
||||
// errDataNameConflict is set when a multipart variable/file name is already used
|
||||
const errDataNameConflict = cerr("data name conflict")
|
||||
|
||||
// ErrNoHeader is set when a multipart variable/file has no (valid) header
|
||||
const ErrNoHeader = cerr("data has no header")
|
||||
// errNoHeader is set when a multipart variable/file has no (valid) header
|
||||
const errNoHeader = cerr("data has no header")
|
||||
|
||||
// Component represents a multipart variable/file
|
||||
type Component struct {
|
|
@ -71,11 +71,11 @@ func (reader *Reader) Parse() error {
|
|||
|
||||
name := comp.GetHeader("name")
|
||||
if len(name) < 1 {
|
||||
return ErrMissingDataName
|
||||
return errMissingDataName
|
||||
}
|
||||
|
||||
if _, nameUsed := reader.Data[name]; nameUsed {
|
||||
return ErrDataNameConflict
|
||||
return errDataNameConflict
|
||||
}
|
||||
|
||||
reader.Data[name] = comp
|
||||
|
|
|
@ -196,8 +196,8 @@ func TestNoName(t *testing.T) {
|
|||
return
|
||||
}
|
||||
|
||||
if err = mpr.Parse(); err != ErrMissingDataName {
|
||||
t.Errorf("expected the error <%s>, got <%s>", ErrMissingDataName, err)
|
||||
if err = mpr.Parse(); err != errMissingDataName {
|
||||
t.Errorf("expected the error <%s>, got <%s>", errMissingDataName, err)
|
||||
return
|
||||
}
|
||||
})
|
||||
|
@ -238,8 +238,8 @@ func TestNoHeader(t *testing.T) {
|
|||
return
|
||||
}
|
||||
|
||||
if err = mpr.Parse(); err != ErrNoHeader {
|
||||
t.Errorf("expected the error <%s>, got <%s>", ErrNoHeader, err)
|
||||
if err = mpr.Parse(); err != errNoHeader {
|
||||
t.Errorf("expected the error <%s>, got <%s>", errNoHeader, err)
|
||||
return
|
||||
}
|
||||
})
|
||||
|
@ -274,8 +274,8 @@ facebook.com
|
|||
t.Fatalf("unexpected error <%s>", err)
|
||||
}
|
||||
|
||||
if err = mpr.Parse(); err != ErrDataNameConflict {
|
||||
t.Fatalf("expected the error <%s>, got <%s>", ErrDataNameConflict, err)
|
||||
if err = mpr.Parse(); err != errDataNameConflict {
|
||||
t.Fatalf("expected the error <%s>, got <%s>", errDataNameConflict, err)
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue