feat: add part getter

This commit is contained in:
James Houlahan
2020-07-02 10:59:15 +02:00
parent 6ea3fc1963
commit 953150cfdb
7 changed files with 234 additions and 27 deletions

View File

@ -1,6 +1,7 @@
package parser
import (
"errors"
"io"
"io/ioutil"
@ -30,6 +31,25 @@ func (p *Parser) NewWriter() *Writer {
return newWriter(p.root)
}
func (p *Parser) Header() message.Header {
return p.root.Header
}
func (p *Parser) Part(number []int) (part *Part, err error) {
part = p.root
for _, n := range number {
if len(part.children) < n {
err = errors.New("no such part")
return
}
part = part.children[n-1]
}
return
}
func (p *Parser) parse(r io.Reader) (err error) {
e, err := message.Read(r)
if err != nil {