From 3e0a280551297ba53bc8c360e685474a30b96143 Mon Sep 17 00:00:00 2001 From: "Adam D. Ruppe" Date: Mon, 16 Apr 2012 12:36:39 -0400 Subject: [PATCH] multiple files --- cgi.d | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/cgi.d b/cgi.d index aa3e176..bfb0cbc 100644 --- a/cgi.d +++ b/cgi.d @@ -365,7 +365,8 @@ class Cgi { onRequestBodyDataReceived(amountReceived, originalContentLength); postArray = assumeUnique(pps._post); - files = assumeUnique(pps._files); + filesArray = assumeUnique(pps._files); + files = keepLastOf(filesArray); post = keepLastOf(postArray); cleanUpPostDataState(); } @@ -994,6 +995,16 @@ class Cgi { return assumeUnique(ca); } + // FIXME duplication + private immutable(UploadedFile[string]) keepLastOf(in UploadedFile[][string] arr) { + UploadedFile[string] ca; + foreach(k, v; arr) + ca[k] = v[$-1]; + + return assumeUnique(ca); + } + + private immutable(string[][string]) getCookieArray() { auto forTheLoveOfGod = decodeVariables(cookie, "; "); return assumeUnique(forTheLoveOfGod);