aboutsummaryrefslogtreecommitdiffstats
path: root/lib/inets/src/http_client/httpc_handler.erl
AgeCommit message (Collapse)Author
2014-12-01inets: stop httpc_handler on 'connection closed' send errorKirilll Zaborsky
httpc_handler should be stopped when sending requests returns error because of a closed connection and `tcp_closed` message could not be catched (see http://erlang.org/pipermail/erlang-bugs/2007-May/000346.html ) otherwise it will lead to process leak.
2014-10-27Merge branch 'scrapinghub/update_session_original_stacktrace'Marcus Arendt
* scrapinghub/update_session_original_stacktrace: inets: Return correct stacktrace on session updating failure
2014-10-10inets: Return correct stacktrace on session updating failureKirilll Zaborsky
Debug output in httpc_handler:update_session/4 error handling code should not pollute stack trace returned in process exit.
2014-10-08Minor misprints correctionKirill Zaborsky
2014-07-03Fix typo in documentation /header_as_is/headers_as_is/Louis-Philippe Gauthier
2014-06-04Merge branch 'scrapinghub/stream_body_with_no_content_length' into maintMarcus Arendt
* scrapinghub/stream_body_with_no_content_length: inets: Fix HTTP 1.0 body end on closed connection
2014-05-22Merge branch 'scrapinghub/stream_for_chunked_single_message' into maintMarcus Arendt
* scrapinghub/stream_for_chunked_single_message: inets: Fix streaming with single chunk body
2014-05-16inets: Fix HTTP 1.0 body end on closed connectionKirilll Zaborsky
Receiving HTTP response with no Content-length header and with body ending on closed connection should give the complete response body contents up to the last byte received.
2014-04-30inets: Fix streaming with single chunk bodySergey Sinkovskiy
Receiving HTTP response with chunked transfer encoding in a single TCP message should produce stream messages for response body when streaming mode is used for httpc.
2014-03-21Merge branch 'nox/httpc-transfer-encoding-identity'Henrik Nord
* nox/httpc-transfer-encoding-identity: Support identity transfer-encoding in httpc OTP-11802
2014-03-21Merge branch 'ia/inets/revert/OTP-11756'Ingela Anderton Andin
* ia/inets/revert/OTP-11756: inets: Continue CTify test suite inets: Enable https tests inets: Make test suites independent of each other inets: Reverted commmit f97cd6965ac35d1cbe510de23592956857d144c8
2014-03-19Merge branch 'scrapinghub/update_session_error_logging_fix'Henrik Nord
* scrapinghub/update_session_error_logging_fix: inets: Fix incorrect argument order OTP-11794
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.
2014-03-09Support identity transfer-encoding in httpcAnthony Ramine
> The default (identity) encoding; the use of no transformation whatsoever. > The Internet Assigned Numbers Authority (IANA) acts as a registry for > transfer-coding value tokens. Initially, the registry contains the > following tokens: "chunked" (section 3.6.1), "identity" (section 3.6.2), > "gzip" (section 3.5), "compress" (section 3.5), and "deflate" (section 3.5). Reported-by: Andrew Houghton
2014-03-09inets: Fix incorrect argument orderKirilll Zaborsky
Wrong order of arguments in httpc_handler:update_session/4 error handling code should not result in bad_argument error making stack trace unusable.
2014-02-23Deprecate pre-defined built-in typesHans Bolinder
The types array(), dict(), digraph(), gb_set(), gb_tree(), queue(), set(), and tid() have been deprecated. They will be removed in OTP 18.0. Instead the types array:array(), dict:dict(), digraph:graph(), gb_set:set(), gb_tree:tree(), queue:queue(), sets:set(), and ets:tid() can be used. (Note: it has always been necessary to use ets:tid().) It is allowed in OTP 17.0 to locally re-define the types array(), dict(), and so on. New types array:array/1, dict:dict/2, gb_sets:set/1, gb_trees:tree/2, queue:queue/1, and sets:set/1 have been added.
2013-09-13inets: httpc make httpc_cancel_request/[1,2] asynchronousIngela Anderton Andin
2013-09-13httpc: Enhanched error handlingIngela Anderton Andin
2013-09-13inets: httpc improve pipeliningIngela Anderton Andin
2013-05-20Remove http_chunk:decode/4 as it is no longer usedMasatake Daimon
http_chunk:decode/4, the side-effecting chunk decoder, was only used by httpc_handler:handle_http_body/2 but now it's completely unused.
2013-05-20Fix {stream, {self, once}} in httpcMasatake Daimon
Previously the only difference between {stream, self} and {stream, {self, once}} was an extra Pid in the stream_start message due to a bug in httpc_handler. It was immediately sending a bunch of messages till the end instead of waiting for httpc:stream_next/1 being called.
2013-03-18inets httpc: Revert incorrect commit regarding cookie handling.Ingela Anderton Andin
2013-02-18inets: Improve ssl handlingIngela Anderton Andin
httpc: CTfy test suite httpd: Simplify ssl configuration OTP-10846
2013-02-14inets httpc: Corrected separation of pipelining and persisten connectionsIngela Anderton Andin
OTP-10845
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-08-29Merge branch 'ta/docsmaint' into maintHenrik Nord
* ta/docsmaint: Fix various doc typos for R15B02 Fix various code typos for R15B02 OTP-10245
2012-07-05Fix various code typos for R15B02Tuncer Ayaz
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-02-08[inets/httpc] Connect error info improvementMicael Karlberg
2012-02-03[inets] Added more error info when connect failsMicael Karlberg
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-13Merge branch 'bmk/inets/httpc/streaming_404/r14/OTP-9860' into ↵Micael Karlberg
bmk/inets/inets573_integration Conflicts: lib/inets/doc/src/notes.xml lib/inets/src/inets_app/inets.appup.src
2012-01-13[inets/httpc] The client incorrectly streams 404 responsesMicael Karlberg
The client incorrectly streams 404 responses. The documentation specifies that only 200 and 206 responses shall be streamed. OTP-9860
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-09-15Fix misspelling of keptTuncer Ayaz
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.
2011-03-07Adding missing "send loop" for raw sending.Micael Karlberg
Also fixed some of the documentation (types).
2010-12-01Merge branch 'bmk/inets/httpc_meybe_retry_queue_terminating/OTP-8906' into devIngela Anderton Andin
* bmk/inets/httpc_meybe_retry_queue_terminating/OTP-8906: Pipelined requests not handled properly when terminating.
2010-11-29More IPv6 fixing. This time in actual code (in the client).Micael Karlberg
2010-11-10Pipelined requests not handled properly when terminating.Micael Karlberg
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-08-20inets: Patch 1111Micael Karlberg
OTP-8508 [httpc] Badly formated error reason for errors occuring during initial connec to a servert. Also, the possible error reasons was not properly documented. OTP-8509 [httpd] Issues with ESI erl_script_timeout. </p> *) The "erl_script_timeout" config option is ducumented as a number of seconds. But when parsing the config, in the new format (not a config file), it was handled as if in number of milliseconds. *) When the erl-script-timeout time was exceeded, the server incorrectly marked the answer as sent, thereby leaving client hanging (with an incomplete answer). This has been changed, so that now the socket will be closed.
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