File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -20,9 +20,14 @@ func NewHeader() Header {
2020 return Header {make (message.Header )}
2121}
2222
23- // AddressList parses the named header field as a list of addresses.
23+ // AddressList parses the named header field as a list of addresses. If the
24+ // header is missing, it returns nil.
2425func (h Header ) AddressList (key string ) ([]* Address , error ) {
25- return parseAddressList (h .Get (key ))
26+ v := h .Get (key )
27+ if v == "" {
28+ return nil , nil
29+ }
30+ return parseAddressList (v )
2631}
2732
2833// SetAddressList formats the named header to the provided list of addresses.
Original file line number Diff line number Diff line change @@ -30,6 +30,12 @@ func TestHeader(t *testing.T) {
3030 t .Errorf ("Expected header address list to be %v, but got %v" , from , got )
3131 }
3232
33+ if got , err := h .AddressList ("Cc" ); err != nil {
34+ t .Error ("Expected no error while parsing missing header address list, got:" , err )
35+ } else if got != nil {
36+ t .Errorf ("Expected missing header address list to be %v, but got %v" , nil , got )
37+ }
38+
3339 if got , err := h .Subject (); err != nil {
3440 t .Error ("Expected no error while parsing header subject, got:" , err )
3541 } else if got != subject {
You can’t perform that action at this time.
0 commit comments