From 20a90db2e3da118d13ef800f4ae12bc3985c3408 Mon Sep 17 00:00:00 2001 From: Jocelyn Fiat Date: Thu, 21 Sep 2017 10:45:08 +0200 Subject: [PATCH] If url is relative, use session.url (...) to get valid url. It could happen with relative url in `Location: ...` header (for redirection). --- library/network/http_client/src/http_client_request.e | 6 +++++- .../http_client/src/spec/net/net_http_client_request.e | 1 + 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/library/network/http_client/src/http_client_request.e b/library/network/http_client/src/http_client_request.e index 087484d9..3f282249 100644 --- a/library/network/http_client/src/http_client_request.e +++ b/library/network/http_client/src/http_client_request.e @@ -31,7 +31,11 @@ feature {NONE} -- Initialization -- This can be used to reset/reinitialize Current with new url -- in the case of redirection. do - url := a_url + if a_url.starts_with ("http://") or a_url.starts_with ("http://") then + url := a_url + else + url := session.url (a_url, Void) + end headers := session.headers.twin if ctx /= Void then context := ctx diff --git a/library/network/http_client/src/spec/net/net_http_client_request.e b/library/network/http_client/src/spec/net/net_http_client_request.e index 3c00f138..cbc457c0 100644 --- a/library/network/http_client/src/spec/net/net_http_client_request.e +++ b/library/network/http_client/src/spec/net/net_http_client_request.e @@ -113,6 +113,7 @@ feature -- Access -- Get URL data l_is_https := url.starts_with_general ("https://") create l_uri.make_from_string (url) + check valid_url: l_uri.is_valid end l_port := l_uri.port if l_port = 0 then if l_is_https then