Commit Graph

578 Commits

Author SHA1 Message Date
Oleg Kalnichevski 769484f71e Copy request headers from the original request to the redirected request
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@651072 13f79535-47bb-0310-9956-ffa450edef68
2008-04-23 21:32:33 +00:00
Oleg Kalnichevski e487e799c2 Rewrite the redirect URI only if it contains a fragment part
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@650988 13f79535-47bb-0310-9956-ffa450edef68
2008-04-23 18:29:05 +00:00
Oleg Kalnichevski 56baf77bb2 Minor code improvements in the DefaultClientRequestRedirector and SingleClientConnManager
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@650979 13f79535-47bb-0310-9956-ffa450edef68
2008-04-23 18:23:15 +00:00
Oleg Kalnichevski 374228c58c HTTPCLIENT-763: AbstractClientConnAdapter#abortConnection() does not release the connection if called from the main execution thread while there is no blocking I/O operation.
AbstractClientConnAdapter#abortConnection() is usually expected to be called from a helper thread in order to unblock the main execution thread blocked in an I/O operation. It may be unsafe to call AbstractClientConnAdapter#releaseConnection() from the helper thread, so we have to rely on an IOException thrown by the closed socket on the main thread to trigger the release of the connection back to the connection manager. However, if this method is called from the main execution thread it should be safe to release the connection immediately. Besides, this also helps ensure the connection gets released back to the manager if AbstractClientConnAdapter#abortConnection() is called from the main execution thread while there is no blocking I/O operation.


git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@650225 13f79535-47bb-0310-9956-ffa450edef68
2008-04-21 19:14:23 +00:00
Oleg Kalnichevski e2eb355878 HTTPCLIENT-763: AbstractClientConnAdapter#abortConnection() does not release the connection if called from the main execution thread while there is no blocking I/O operation.
AbstractClientConnAdapter#abortConnection() is usually expected to be called from a helper thread in order to unblock the main execution thread blocked in an I/O operation. It may be unsafe to call AbstractClientConnAdapter#releaseConnection() from the helper thread, so we have to rely on an IOException thrown by the closed socket on the main thread to trigger the release of the connection back to the connection manager. However, if this method is called from the main execution thread it should be safe to release the connection immediately. Besides, this also helps ensure the connection gets released back to the manager if AbstractClientConnAdapter#abortConnection() is called from the main execution thread while there is no blocking I/O operation.


git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@650223 13f79535-47bb-0310-9956-ffa450edef68
2008-04-21 19:08:17 +00:00
Oleg Kalnichevski ef548b4620 Renamed Aborter to WaitingThreadAborter
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@649220 13f79535-47bb-0310-9956-ffa450edef68
2008-04-17 18:40:24 +00:00
Oleg Kalnichevski d3205ff522 Change WaitingThread class to unblock the lock instead of interrupting the waiting thread
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@649217 13f79535-47bb-0310-9956-ffa450edef68
2008-04-17 18:32:32 +00:00
Oleg Kalnichevski ad9e79c4d9 HTTPCLIENT-652: Added optional state attribute to managed client connections; this enables connection managers to correctly handle stateful connections
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@649204 13f79535-47bb-0310-9956-ffa450edef68
2008-04-17 17:50:13 +00:00
Oleg Kalnichevski 2b91201275 Refactoring of the TSCCM code:
* Removed code maintaining a weak reference to the parent connection manager in the AbstractConnPool. The weak reference to the connection manager is currently used to shut down the pool when the connection manager gets GC-ed. The same net result can be achieved by calling #shutdown from #finalize() of the connection manager class.
* Shut down connection managers in #finalize().
* There is no point passing ClientConnectionOperator around. It can be assigned to the connection pool once at the construction time.


git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@649035 13f79535-47bb-0310-9956-ffa450edef68
2008-04-17 10:00:45 +00:00
Oleg Kalnichevski 5a08148d25 Refactored configuration of the thread-safe connection manager and its components. Parameters now apply at the construction time only
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@648877 13f79535-47bb-0310-9956-ffa450edef68
2008-04-16 22:05:35 +00:00
Oleg Kalnichevski bfbc2e0007 Fixed the use of the Lock interface in AbstractConnPool and ConnPoolByRoute
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@648848 13f79535-47bb-0310-9956-ffa450edef68
2008-04-16 21:05:54 +00:00
Oleg Kalnichevski 608a6e67f3 HTTPCLIENT-748: Made AuthSchemeRegistry, SchemeRegistry, CookieSpecRegistry friendlier for DI frameworks
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@648356 13f79535-47bb-0310-9956-ffa450edef68
2008-04-15 17:57:53 +00:00
Oleg Kalnichevski ffa55f8eec Replaced ConnPerRouteBean class with ConnPerRoute interface
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@647811 13f79535-47bb-0310-9956-ffa450edef68
2008-04-14 14:20:30 +00:00
Oleg Kalnichevski bc6b2d7061 HTTPCLIENT-673: Revised max connections per route configuration
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@647810 13f79535-47bb-0310-9956-ffa450edef68
2008-04-14 14:17:01 +00:00
Oleg Kalnichevski 824b785a99 HTTPCLIENT-652:
* Reverting most of my previous changes. Passing a state object to the connection manager when trying to obtain a connection is completely pointless, as usually connection state information becomes available only after the connection has been established, for instance, after having been challenged by an authenticating server. Therefore, it is necessary to be able to set a state object on an active connection
* added method to set state object on ManagedClientConnection

git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@646918 13f79535-47bb-0310-9956-ffa450edef68
2008-04-10 18:30:12 +00:00
Oleg Kalnichevski 8ff6eedd9e HTTPCLIENT-652: Added optional state attribute to managed client connections
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@646549 13f79535-47bb-0310-9956-ffa450edef68
2008-04-09 21:29:33 +00:00
Oleg Kalnichevski 42d9c4e324 Simplified OperatedClientConnection interface. Moved secure flag to #openCompleted
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@646087 13f79535-47bb-0310-9956-ffa450edef68
2008-04-08 21:36:46 +00:00
Oleg Kalnichevski 987b1cab33 Simplified OperatedClientConnection interface
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@646081 13f79535-47bb-0310-9956-ffa450edef68
2008-04-08 21:28:48 +00:00
Oleg Kalnichevski 168a699a8f HTTPCLIENT-752: version.properties for HttpMime
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@645851 13f79535-47bb-0310-9956-ffa450edef68
2008-04-08 11:14:29 +00:00
Oleg Kalnichevski 47eff4157e HTTPCLIENT-753: Class Scheme and related classes moved to a separate package
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@645850 13f79535-47bb-0310-9956-ffa450edef68
2008-04-08 11:08:52 +00:00
Oleg Kalnichevski 21705fdb9c Made RoutedRequest a simple class
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@645846 13f79535-47bb-0310-9956-ffa450edef68
2008-04-08 10:53:39 +00:00
Oleg Kalnichevski f2ef6c15a6 HTTPCLIENT-757: Improved request wrapping in the DefaultClientRequestDirector. This also fixed the problem with the default proxy set at the client level having no effect.
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@645843 13f79535-47bb-0310-9956-ffa450edef68
2008-04-08 10:46:04 +00:00
Oleg Kalnichevski fa366c559c Moved UrlEncodedFormEntity to o.a.h.client.entity package
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@645074 13f79535-47bb-0310-9956-ffa450edef68
2008-04-05 10:59:59 +00:00
Oleg Kalnichevski e8923010c7 HTTPCLIENT-746: Refactored URLUtils into URLEncodedUtils and URIUtils
Contributed by Stojce Dimski <sdmiski at yahoo.it>
Reviewed by Oleg Kalnichevski

git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@645072 13f79535-47bb-0310-9956-ffa450edef68
2008-04-05 10:54:12 +00:00
Oleg Kalnichevski e1ac27569a HTTPCLIENT-746: Refactored URLUtils into URLEncodedUtils and URIUtils
Contributed by Stojce Dimski <sdmiski at yahoo.it>
Reviewed by Oleg Kalnichevski

git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@645071 13f79535-47bb-0310-9956-ffa450edef68
2008-04-05 10:53:05 +00:00
Oleg Kalnichevski 4b3b19a8bd HTTPCLIENT-741: More concurrency fixes in HttpConn classes
Contributed by Tim Julien <tjulien at limewire.com>
Reviewed by Oleg Kalnichevski

git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@643531 13f79535-47bb-0310-9956-ffa450edef68
2008-04-01 19:38:50 +00:00
Oleg Kalnichevski 5956d0ed5f Removed unused method from the ClientRequestDirector interface
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@640959 13f79535-47bb-0310-9956-ffa450edef68
2008-03-25 19:49:35 +00:00
Oleg Kalnichevski 97bb41b687 GTTPCLIENT-760: Improved handling of request abort in fringe situations such as request abort immediately after a connection has been allocated but before the release trigger has been set
Contributed by Sam Berlin <sberlin at gmail.com>
Reviewed by Oleg Kalnichevski



git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@639600 13f79535-47bb-0310-9956-ffa450edef68
2008-03-21 11:28:15 +00:00
Oleg Kalnichevski c51f3a980f HTTPCLIENT-734: API refinements
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@639506 13f79535-47bb-0310-9956-ffa450edef68
2008-03-21 00:40:54 +00:00
Oleg Kalnichevski a72e883d9c HTTPCLIENT-734: Request abort will unblock the thread waiting for a connection
Contributed by Sam Berlin <sberlin at gmail.com>
Reviewed by Oleg Kalnichevski



git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@638979 13f79535-47bb-0310-9956-ffa450edef68
2008-03-19 19:36:02 +00:00
Oleg Kalnichevski 1e153a504c HTTPCLIENT-759: Ensure release of connections back to the connection manager on exceptions.
Contributed by Sam Berlin <sberlin at gmail.com>
Reviewed by Oleg Kalnichevski



git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@638517 13f79535-47bb-0310-9956-ffa450edef68
2008-03-18 19:22:57 +00:00
Oleg Kalnichevski c84d594f75 HTTPCLIENT-758: Fixed the use of generics in AbstractHttpClient #removeRequestInterceptorByClass and #removeResponseInterceptorByClass
Contributed by Johannes Koch <johannes.koch at fit.fraunhofer.de>
Reviewed by Oleg Kalnichevski




git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@635675 13f79535-47bb-0310-9956-ffa450edef68
2008-03-10 20:00:15 +00:00
Oleg Kalnichevski f25c8c1f77 HTTPCLIENT-746: Alternative URL coding methods
Contributed by Stojce Dimski <sdmiski at yahoo.it>
Reviewed by Oleg Kalnichevski


git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@635111 13f79535-47bb-0310-9956-ffa450edef68
2008-03-08 23:21:03 +00:00
Oleg Kalnichevski 8f53912519 HTTPCLIENT-749: HttpParams beans
Contributed by Stojce Dimski <sdmiski at yahoo.it>


git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@632313 13f79535-47bb-0310-9956-ffa450edef68
2008-02-29 13:19:50 +00:00
Oleg Kalnichevski 2588e16238 HTTPCLIENT-755: Workaround for known bugs in java.net.URI.resolve() (Bug ID: 4708535)
Contributed by Johannes Koch <johannes.koch at fit.fraunhofer.de>


git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@632273 13f79535-47bb-0310-9956-ffa450edef68
2008-02-29 09:43:28 +00:00
Oleg Kalnichevski a24d0b2de1 HTTPCLIENT-754: BasicClientCookie.toString() contains 'name' instead of 'value' when writing out cookie value
Contributed by Thomas Friol <thomas at anyware-tech.com>

git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@631985 13f79535-47bb-0310-9956-ffa450edef68
2008-02-28 14:31:43 +00:00
Oleg Kalnichevski 64abe1e5a2 Added javadocs
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@631721 13f79535-47bb-0310-9956-ffa450edef68
2008-02-27 20:51:28 +00:00
Oleg Kalnichevski b055442d4b This patch effectively reverts HTTPCLIENT-643 changes. Multihome fail-over mechanism simply cannot be properly implemented at the socket factory level. A failure in the connect method can leave the socket in a inconsistent state on some platforms (Mac OS), making it impossible to connect the same socket to a different address
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@631713 13f79535-47bb-0310-9956-ffa450edef68
2008-02-27 20:40:35 +00:00
Oleg Kalnichevski 63035b081b Added explicit dependency on Log4j to work around the problem with GUMP's inablity to handle transitive dependencies
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@630775 13f79535-47bb-0310-9956-ffa450edef68
2008-02-25 09:27:41 +00:00
Roland Weber a42e4de19e more volatiles, not sure whether these are needed
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@630417 13f79535-47bb-0310-9956-ffa450edef68
2008-02-23 09:04:32 +00:00
Roland Weber 898a8edc53 missing volatile declarations
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@630414 13f79535-47bb-0310-9956-ffa450edef68
2008-02-23 08:59:18 +00:00
Oleg Kalnichevski 30e15edc67 [maven-release-plugin] prepare for next development iteration
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@629589 13f79535-47bb-0310-9956-ffa450edef68
2008-02-20 19:42:42 +00:00
Oleg Kalnichevski 49021f33b8 [maven-release-plugin] prepare release 4.0-alpha3
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@629587 13f79535-47bb-0310-9956-ffa450edef68
2008-02-20 19:42:26 +00:00
Oleg Kalnichevski 56c95adae3 Added site and assembly sources to the SRC distros
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@629468 13f79535-47bb-0310-9956-ffa450edef68
2008-02-20 14:19:58 +00:00
Oleg Kalnichevski e2fd2255c3 Added notice and license resources
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@629461 13f79535-47bb-0310-9956-ffa450edef68
2008-02-20 14:01:46 +00:00
Oleg Kalnichevski 01b3df6b14 Should fix the failing test case
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@629460 13f79535-47bb-0310-9956-ffa450edef68
2008-02-20 14:00:40 +00:00
Erik Abele 0c1a3849fe Add licensing info and crypto notice to README.
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@629449 13f79535-47bb-0310-9956-ffa450edef68
2008-02-20 13:22:36 +00:00
Erik Abele 5a7748fe8b Make READMEs more consistent:
- remove trainling spaces
  - uppercase all headlines
  - add some linebreaks for better readability
  - add Apache in front of HttpComponents
  - improve info/contact section and add link to status page


git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@629446 13f79535-47bb-0310-9956-ffa450edef68
2008-02-20 13:14:55 +00:00
Erik Abele fea964b8bc Add missing full stop.
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@629287 13f79535-47bb-0310-9956-ffa450edef68
2008-02-20 00:36:43 +00:00
Oleg Kalnichevski 000444c93d Fix for the failing test case that makes use of the default platform charset
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@628690 13f79535-47bb-0310-9956-ffa450edef68
2008-02-18 11:59:58 +00:00