aboutsummaryrefslogtreecommitdiffstats
path: root/lib/inets/src/http_server/httpd_esi.erl
diff options
context:
space:
mode:
authorIngela Anderton Andin <[email protected]>2017-11-01 12:02:08 +0100
committerIngela Anderton Andin <[email protected]>2017-11-01 12:02:08 +0100
commita51424af47f879e776b9344be813a03d2a4bcb5b (patch)
tree97bc072125aae0af664e90901bd0198b78b1cea9 /lib/inets/src/http_server/httpd_esi.erl
parent911fdf9b551c3069255e53fa8483de21f82b9f38 (diff)
parent61a64986b805ac8b140e25cb4caa4ad5430837a0 (diff)
downloadotp-a51424af47f879e776b9344be813a03d2a4bcb5b.tar.gz
otp-a51424af47f879e776b9344be813a03d2a4bcb5b.tar.bz2
otp-a51424af47f879e776b9344be813a03d2a4bcb5b.zip
Merge branch 'maint'
Diffstat (limited to 'lib/inets/src/http_server/httpd_esi.erl')
-rw-r--r--lib/inets/src/http_server/httpd_esi.erl25
1 files changed, 11 insertions, 14 deletions
diff --git a/lib/inets/src/http_server/httpd_esi.erl b/lib/inets/src/http_server/httpd_esi.erl
index 9406b47802..fd50934d00 100644
--- a/lib/inets/src/http_server/httpd_esi.erl
+++ b/lib/inets/src/http_server/httpd_esi.erl
@@ -66,7 +66,7 @@ handle_headers("") ->
{ok, [], 200};
handle_headers(Headers) ->
NewHeaders = string:tokens(Headers, ?CRLF),
- handle_headers(NewHeaders, [], 200).
+ handle_headers(NewHeaders, [], 200, true).
%%%========================================================================
%%% Internal functions
@@ -80,21 +80,17 @@ parse_headers([?CR, ?LF, ?CR, ?LF | Rest], Acc) ->
parse_headers([Char | Rest], Acc) ->
parse_headers(Rest, [Char | Acc]).
-handle_headers([], NewHeaders, StatusCode) ->
+handle_headers([], NewHeaders, StatusCode, _) ->
{ok, NewHeaders, StatusCode};
-handle_headers([Header | Headers], NewHeaders, StatusCode) ->
+handle_headers([Header | Headers], NewHeaders, StatusCode, NoESIStatus) ->
{FieldName, FieldValue} = httpd_response:split_header(Header, []),
case FieldName of
"location" ->
- case http_request:is_absolut_uri(FieldValue) of
- true ->
- handle_headers(Headers,
- [{FieldName, FieldValue} | NewHeaders],
- 302);
- false ->
- {proceed, FieldValue}
- end;
+ handle_headers(Headers,
+ [{FieldName, FieldValue} | NewHeaders],
+ 302, NoESIStatus);
+
"status" ->
NewStatusCode =
case httpd_util:split(FieldValue," ",2) of
@@ -103,8 +99,9 @@ handle_headers([Header | Headers], NewHeaders, StatusCode) ->
_ ->
200
end,
- handle_headers(Headers, NewHeaders, NewStatusCode);
+ handle_headers(Headers, NewHeaders, NewStatusCode, false);
_ ->
handle_headers(Headers,
- [{FieldName, FieldValue}| NewHeaders], StatusCode)
- end.
+ [{FieldName, FieldValue}| NewHeaders], StatusCode,
+ NoESIStatus)
+ end.