aboutsummaryrefslogtreecommitdiffstats
path: root/lib/inets/src/http_client/httpc.erl
diff options
context:
space:
mode:
authorMicael Karlberg <[email protected]>2012-03-15 11:59:40 +0100
committerMicael Karlberg <[email protected]>2012-03-15 11:59:40 +0100
commita366623c674e993667fedbe01ad52dc4fab5b4f0 (patch)
treef377605e6270ad279cfe48253b8ae84b5c99b951 /lib/inets/src/http_client/httpc.erl
parent0c11d7235ed1f0f5c595cf3d9a433adf9c61cc8c (diff)
downloadotp-a366623c674e993667fedbe01ad52dc4fab5b4f0.tar.gz
otp-a366623c674e993667fedbe01ad52dc4fab5b4f0.tar.bz2
otp-a366623c674e993667fedbe01ad52dc4fab5b4f0.zip
[inets] The module http_uri now officially supported
The module http_uri now officially supported. Also, the http_uri:parse/1,2 function has been extended with more scheme support and a way to provide your own scheme info. OTP-9983
Diffstat (limited to 'lib/inets/src/http_client/httpc.erl')
-rw-r--r--lib/inets/src/http_client/httpc.erl26
1 files changed, 19 insertions, 7 deletions
diff --git a/lib/inets/src/http_client/httpc.erl b/lib/inets/src/http_client/httpc.erl
index 2c51c2081c..0a30fe1e20 100644
--- a/lib/inets/src/http_client/httpc.erl
+++ b/lib/inets/src/http_client/httpc.erl
@@ -158,7 +158,7 @@ request(Method,
{http_options, HTTPOptions},
{options, Options},
{profile, Profile}]),
- case http_uri:parse(Url, Options) of
+ case uri_parse(Url, Options) of
{error, Reason} ->
{error, Reason};
{ok, ParsedUrl} ->
@@ -179,7 +179,7 @@ request(Method,
{http_options, HTTPOptions},
{options, Options},
{profile, Profile}]),
- case http_uri:parse(Url, Options) of
+ case uri_parse(Url, Options) of
{error, Reason} ->
{error, Reason};
{ok, ParsedUrl} ->
@@ -328,7 +328,7 @@ store_cookies(SetCookieHeaders, Url, Profile)
%% Since the Address part is not actually used
%% by the manager when storing cookies, we dont
%% care about ipv6-host-with-brackets.
- {ok, {_, _, Host, Port, Path, _}} = http_uri:parse(Url),
+ {ok, {_, _, Host, Port, Path, _}} = uri_parse(Url),
Address = {Host, Port},
ProfileName = profile_name(Profile),
Cookies = httpc_cookie:cookies(SetCookieHeaders, Path, Host),
@@ -585,10 +585,6 @@ maybe_encode_uri(#http_options{url_encode = true}, URI) ->
maybe_encode_uri(_, URI) ->
URI.
-uri_parse(AbsURI) ->
- http_uri:parse(AbsURI, [{scheme_defaults, [{http, 80}, {https, 443}]}]).
-
-
mk_chunkify_fun(ProcessBody) ->
fun(eof_body) ->
eof;
@@ -1202,6 +1198,22 @@ validate_headers(RequestHeaders, _, _) ->
RequestHeaders.
+%%--------------------------------------------------------------------------
+%% These functions is just simple wrappers to parse specifically HTTP URIs
+%%--------------------------------------------------------------------------
+
+scheme_defaults() ->
+ [{http, 80}, {https, 443}].
+
+uri_parse(URI) ->
+ http_uri:parse(URI, [{scheme_defaults, scheme_defaults()}]).
+
+uri_parse(URI, Opts) ->
+ http_uri:parse(URI, [{scheme_defaults, scheme_defaults()} | Opts]).
+
+
+%%--------------------------------------------------------------------------
+
child_name2info(undefined) ->
{error, no_such_service};
child_name2info(httpc_manager) ->