diff --git a/library/src/main/java/com/liulishuo/filedownloader/download/ConnectTask.java b/library/src/main/java/com/liulishuo/filedownloader/download/ConnectTask.java index 4c528bfc..79d926bf 100644 --- a/library/src/main/java/com/liulishuo/filedownloader/download/ConnectTask.java +++ b/library/src/main/java/com/liulishuo/filedownloader/download/ConnectTask.java @@ -31,6 +31,7 @@ import java.util.List; import java.util.Map; import java.util.Set; +import java.util.Stack; /** * The connect task which used for connect to the backend. @@ -116,18 +117,32 @@ private void addUserRequiredHeader(FileDownloadConnection connection) { String name; List list; + Stack names = new Stack<>(); + Stack> lists = new Stack<>(); + // add addition headers which is provided by the user Set>> entries = additionHeaders.entrySet(); for (Map.Entry> e : entries) { name = e.getKey(); list = e.getValue(); + names.push(name); + lists.push(list); + /*if (list != null) { + for (String value : list) { + connection.addHeader(name, value); + } + }*/ + } + + while (lists.size() > 0) { + list = lists.pop(); + name = names.pop(); if (list != null) { for (String value : list) { connection.addHeader(name, value); } } } - } } }