aboutsummaryrefslogtreecommitdiffstats
path: root/lib/inets/src/http_client/httpc_manager.erl
AgeCommit message (Collapse)Author
2018-06-18Update copyright yearHenrik Nord
2018-04-12inets: Fix broken httpc options handlingPéter Dimitrov
- Add support for setting socket options per request. - Add http_ipv6 test group. Change-Id: Ia2aca37c0b5fe64a41995c79ae3399434b17ab8a
2018-02-26inets: Add unix domain socket support to httpcPéter Dimitrov
Change-Id: I44fe2670e36884e09600d17dd71b1e86b9ee75fa
2017-11-17inets: Eliminate race conditionIngela Anderton Andin
Only run test case for http as the socket manipulation done by the test case requires much more manipulation to work for https. However, that this test case started failing constantly instead of sporadically is proof that this change is a good thing.
2016-10-04Replace ref() with reference() in inets filesKostis Sagonas
This supersedes PR #1185 (submitted by @KrzysiekJ) that changed all occurrences of ref() with reference() in inets files. However, there is little point in having these types only in comments. So, these types are now exposed as type declarations for the record fields they appear. While at it, uncommented more commented out type declarations and declared types for records defined in the affected modules and header files. Some type-unfriendly and obsolete code related to supporting code ungrades with a really old OTP release was also removed.
2016-03-15update copyright-yearHenrik Nord
2015-06-18Change license text to APLv2Bruce Yinhe
2014-03-18inets: Reverted commmit f97cd6965ac35d1cbe510de23592956857d144c8Ingela Anderton Andin
The reverted commit took a too optimistic approch to pipeling. When added we thought it would be an improvment, but it proved to be a misconception.
2013-09-13inets: httpc make httpc_cancel_request/[1,2] asynchronousIngela Anderton Andin
2013-09-13inets: httpc improve pipeliningIngela Anderton Andin
2012-10-02inets: Dialyzer fixesIngela Anderton Andin
2012-10-02inets httpc: TLS via proxyIngela Anderton Andin
Introduces new option htts_proxy so that it is possible to have different proxies for http and https. The new option defaults to the old proxy option. Implements HTTP-1.1 extension method CONNECT to establish SSL/TLS tunnel We choose not to implement "TLS upgrade" as defined by RFC 2817 as this method of upgrade is vulnerable to man in the middle attacks, can be easily broken by proxies and does not seem to be widely adopted.
2012-05-22[inets/httpc] Better handling of session db update failureMicael Karlberg
A failure to update the session database will now result in an informative error message and a controlled (handler) exit rather then an ugly crash. Also debug functions to retrieve sessions info and updated the info function with more info (sessions and options). OTP-10093
2012-05-22[inets/httpc] Cancel request does not workMicael Karlberg
Cancel request does not work due to incorrect handler table creation (wrong keypos). OTP-10092
2012-03-15[inets] The module http_uri now officially supportedMicael Karlberg
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
2012-03-13[inets/httpc] Add function to retreive current optionsMicael Karlberg
Add function to retreive current options, httpc:get_options/1,2. OTP-9979
2012-01-20[inets] Merged from R14B and also fixed appupMicael Karlberg
Merge from R14B integration branch (for inets-5.7.3) and fixed appup and corresponding code-change code to work in new version (inets-5.8.1). Also some minor (R15B specific) test suite fixes. Merge branch 'bmk/inets/inets573_integration' into bmk/inets/inets581_integration/r15 Conflicts: lib/inets/doc/src/notes.xml lib/inets/src/http_client/httpc_internal.hrl lib/inets/src/inets_app/inets.appup.src lib/inets/vsn.mk
2012-01-05[inets/httpc] Add proper code change codeMicael Karlberg
Added proper code to handle code upgrade/downgrade. The manager and handler(s) are interdependant which makes it a bit tricky. OTP-9847
2012-01-04[inets/httpc] Add test caseMicael Karlberg
Add a test case verifying the session selection. Add some more use of the update_session function. Improved verbosity printouts. OTP-9847
2012-01-03[inets/httpc] Fix the selection of session for keep-alive modeMicael Karlberg
When selecting a session, the "state" of the session (specifically if the server has responded) was not taken into account. Attempting to fix this, a "state" field (actually available) has been added to the session record. OTP-9847
2011-11-23Fixed acceptor exit warnings (detected by dialyzer).Micael Karlberg
Also fixed cookie_header/3 and updated documented accordingly. Also added documentation for undocumented URI parse option.
2011-11-21Various minor dialyzer related cleanup.Micael Karlberg
2011-10-18[httpc] Wrong Host header in IPv6 HTTP requests.Micael Karlberg
When a URI with a IPv6 host is parsed, the brackets that encapsulates the nnn is removed. This value is then supplied as the host header. This can cause problems with some servers. A workaround for this is to use headers_as_is and provide the host header with the requst call To solve this a new option has been added, ipv6_host_with_brackets. This option specifies if the host value of the host header shall include the branckets or not. By default, it does not (as before). OTP-9628
2011-10-12Make return from the parse function conform with:Micael Karlberg
{error, Reason} | {ok, ParsedURL}
2011-06-15SSL with IPv6 now works "in principle".Micael Karlberg
2011-05-11Fixed httpc manager crashIngela Anderton Andin
httpc manager crashes.When a request results in a retry, the request id will be "reused" in the previous implementation a race condition could occur causing the manager to crash. This is now avoided by using proc_lib:init_ack and gen_server:enter_loop to allow more advanced initialization of httpc_handlers without blocking the httpc_manger and eliminating extra processes that can cause race conditions.
2010-11-30Replaced error report with debug printout.Micael Karlberg
Also added some verbosity (dbg) printouts in the transport module (for ip_comm listen).
2010-08-25Merge branch 'maint-r13' into devBjörn Gustavsson
* maint-r13: snmp: Patch 1130 inets: Patch 1129 ssh: Patch 1127 ssh: Patch 1126 Conflicts: lib/inets/doc/src/notes.xml lib/inets/src/inets_app/inets.appup.src lib/inets/vsn.mk lib/snmp/vsn.mk lib/ssh/doc/src/notes.xml lib/ssh/src/ssh.appup.src lib/ssh/vsn.mk
2010-08-23inets: Patch 1129Micael Karlberg
OTP-8739 [httpc] If a request times out (not connect timeout), the handler process exited (normal) but neglected to inform the manager process. For this reason, the manager did not clean up the request table, resulting in a memory leak. Also the manager did not create a monitor for the handler, so in an unforseen handler crash, this could also create a memory leak. OTP-8741 The service tftp was spelled wrong in documentation and in some parts of the code. It should be tftp. OTP-8742 [httpc] Replaced the old http client api module (http) with the new, httpc in the users guide.
2010-08-20inets: Patch 1115Micael Karlberg
OTP-8542 [httpc] Memory leak plugged. The profile manager never cleaned up in its handler database. This meant that with each new request handler, another entry was created that was never deleted. Eventually the request id counter (used as a key) would wrap, but the machine would most likely run out of memory before that happened. OTP-8607 [httpc] https requests with default port not handled properly. Jebu Ittiachen.
2010-06-07OTP-7907: Allow the use of the "new" ssl (essl).Micael Karlberg
OTP-8564: Update deeprication status. OTP-8573: Inets mod_alias URL rewrite.
2010-04-21OTP-8542: Merge from dev-branch.Micael Karlberg
2010-02-13OTP-8431: Fix error handling of httpc_manager and its starter processMicael Karlberg
OTP-8431: [email protected]
2010-01-19OTP-8016 [httpc] Several more or less critical fixes: * Initial callMicael Karlberg
between the httpc manager and request handler was synchronous. When the manager starts a new request handler, this is no longer a synchronous operation. Previously, the new request handler made the connection to the server and issuing of the first request (the reason for starting it) in the gen_server init function. If the connection for some reason "took some time", the manager hanged, leaving all other activities by that manager also hanging. As a side-effect of these changes, some modules was also renamed, and a new api module, httpc, has been introduced (the old module, http, is *not* removed, but is now just wrapper for httpc).
2010-01-13OTP-8016 TBDMicael Karlberg
2009-11-20The R13B03 release.OTP_R13B03Erlang/OTP