Merge branch 'map_support_on_json_parsing' of git://github.com/TheProductWorks/mochiweb into TheProductWorks-map_support_on_json_parsing
diff --git a/src/mochiweb_request.erl b/src/mochiweb_request.erl
index 302d6bc..ec0ad36 100644
--- a/src/mochiweb_request.erl
+++ b/src/mochiweb_request.erl
@@ -119,6 +119,21 @@
Hosts ->
string:strip(lists:last(string:tokens(Hosts, ",")))
end;
+ %% Copied this syntax from webmachine contributor Steve Vinoski
+ {ok, {Addr={172, Second, _, _}, _Port}} when (Second > 15) andalso (Second < 32) ->
+ case get_header_value("x-forwarded-for", THIS) of
+ undefined ->
+ inet_parse:ntoa(Addr);
+ Hosts ->
+ string:strip(lists:last(string:tokens(Hosts, ",")))
+ end;
+ {ok, {Addr={192, 168, _, _}, _Port}} ->
+ case get_header_value("x-forwarded-for", THIS) of
+ undefined ->
+ inet_parse:ntoa(Addr);
+ Hosts ->
+ string:strip(lists:last(string:tokens(Hosts, ",")))
+ end;
{ok, {{127, 0, 0, 1}, _Port}} ->
case get_header_value("x-forwarded-for", THIS) of
undefined ->