This is an automated email from the ASF dual-hosted git repository.
btellier pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/james-mime4j.git
The following commit(s) were added to refs/heads/master by this push:
new dad47b4 MIME4J-307 AbstractHeader::getField (with cast) should handle
missing header (#59)
dad47b4 is described below
commit dad47b4c6050bd52fa7d9ba1cc51daa0d63a87c0
Author: Benoit TELLIER <[email protected]>
AuthorDate: Tue Sep 28 09:29:41 2021 +0700
MIME4J-307 AbstractHeader::getField (with cast) should handle missing
header (#59)
---
.../org/apache/james/mime4j/message/AbstractHeader.java | 3 +++
.../test/java/org/apache/james/mime4j/dom/MessageTest.java | 14 ++++++++++++++
2 files changed, 17 insertions(+)
diff --git
a/dom/src/main/java/org/apache/james/mime4j/message/AbstractHeader.java
b/dom/src/main/java/org/apache/james/mime4j/message/AbstractHeader.java
index c83de6f..7b1af55 100644
--- a/dom/src/main/java/org/apache/james/mime4j/message/AbstractHeader.java
+++ b/dom/src/main/java/org/apache/james/mime4j/message/AbstractHeader.java
@@ -125,6 +125,9 @@ public abstract class AbstractHeader implements Header {
*/
public <F extends Field> F getField(final String name, final Class<F>
clazz) {
List<Field> l = fieldMap.get(name.toLowerCase(Locale.US));
+ if (l == null) {
+ return null;
+ }
for (int i = 0; i < l.size(); i++) {
Field field = l.get(i);
if (clazz.isInstance(field)) {
diff --git a/dom/src/test/java/org/apache/james/mime4j/dom/MessageTest.java
b/dom/src/test/java/org/apache/james/mime4j/dom/MessageTest.java
index ce4de42..3a1a2e2 100644
--- a/dom/src/test/java/org/apache/james/mime4j/dom/MessageTest.java
+++ b/dom/src/test/java/org/apache/james/mime4j/dom/MessageTest.java
@@ -32,6 +32,7 @@ import org.apache.james.mime4j.dom.address.Mailbox;
import org.apache.james.mime4j.dom.address.MailboxList;
import org.apache.james.mime4j.dom.field.ContentTypeField;
import org.apache.james.mime4j.dom.field.FieldName;
+import org.apache.james.mime4j.dom.field.MailboxField;
import org.apache.james.mime4j.field.DefaultFieldParser;
import org.apache.james.mime4j.field.Fields;
import org.apache.james.mime4j.field.address.DefaultAddressParser;
@@ -432,4 +433,17 @@ public class MessageTest {
Assert.assertSame(original.getBody().getClass(),
builder.getBody().getClass());
}
+ @Test
+ public void getFieldShouldReturnNullOnMissingHeader() throws Exception {
+ Message original = Message.Builder.of()
+ .generateMessageId("hostname")
+ .setSubject("testing ...")
+ .setFrom("batman@localhost", "superman@localhost")
+ .setTo("\"Big momma\" <big_momma@localhost>")
+ .setBody("Yo, big momma!", Charsets.UTF_8)
+ .build();
+
+ Assert.assertNull(original.getHeader().getField("Sender",
MailboxField.class));
+ }
+
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]