diff options
author | Ingela Anderton Andin <[email protected]> | 2017-11-01 12:02:08 +0100 |
---|---|---|
committer | Ingela Anderton Andin <[email protected]> | 2017-11-01 12:02:08 +0100 |
commit | a51424af47f879e776b9344be813a03d2a4bcb5b (patch) | |
tree | 97bc072125aae0af664e90901bd0198b78b1cea9 /lib/inets/src/http_server/httpd_esi.erl | |
parent | 911fdf9b551c3069255e53fa8483de21f82b9f38 (diff) | |
parent | 61a64986b805ac8b140e25cb4caa4ad5430837a0 (diff) | |
download | otp-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.erl | 25 |
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. |