diff options
author | Badlop <badlop@process-one.net> | 2017-10-06 13:15:47 +0200 |
---|---|---|
committer | Badlop <badlop@process-one.net> | 2017-10-06 13:16:13 +0200 |
commit | 4bd5846d409f183e16301ee34f113ffb9f82967f (patch) | |
tree | d5d741901384d53861d798fdd5653d326e7b2c5b /src/mod_http_fileserver.erl | |
parent | Update pl.po (diff) |
More fix in mod_http_fileserver to log URLs with/out query elements (#2021)
Diffstat (limited to 'src/mod_http_fileserver.erl')
-rw-r--r-- | src/mod_http_fileserver.erl | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/src/mod_http_fileserver.erl b/src/mod_http_fileserver.erl index 73423d6a..f3493672 100644 --- a/src/mod_http_fileserver.erl +++ b/src/mod_http_fileserver.erl @@ -436,7 +436,7 @@ add_to_log(File, FileSize, Code, Request) -> IP = ip_to_string(element(1, Request#request.ip)), Path = join(Request#request.path, "/"), Query = case stringify_query(Request#request.q) of - [] -> + <<"">> -> ""; String -> [$? | String] @@ -456,11 +456,13 @@ add_to_log(File, FileSize, Code, Request) -> FileSize, Referer, UserAgent]). stringify_query(Q) -> - join( - lists:map(fun(E) -> - lists:concat([binary_to_list(element(1, E)), "=", binary_to_list(element(2, E))]) - end, Q), - "&"). + stringify_query(Q, []). +stringify_query([], Res) -> + join(lists:reverse(Res), "&"); +stringify_query([{nokey, _B} | Q], Res) -> + stringify_query(Q, Res); +stringify_query([{A, B} | Q], Res) -> + stringify_query(Q, [join([A,B], "=") | Res]). find_header(Header, Headers, Default) -> case lists:keysearch(Header, 1, Headers) of |