Commit Graph

924 Commits

Author SHA1 Message Date
Simone Bordet 868458f980 402341 - Host with default port causes redirects loop.
Removed default port from the Host request header.
Although allowed by RFC 2616, seems that many server chokes it.
2013-03-04 16:33:57 +01:00
Simone Bordet 8d6a4c39df Better logging for the RedirectProtocolHandler. 2013-03-04 16:33:57 +01:00
Simone Bordet a1560bea21 402316 - HttpReceiver and null pointer exception.
The NPE was caused by (invalid) Set-Cookie headers without value.
A guard has been added to avoid the NPE.
2013-03-04 16:33:57 +01:00
Greg Wilkins 056be85766 less verbose exception 2013-03-04 16:40:18 +11:00
Greg Wilkins 41952ebf1d 402075 Dont allocate the parser trie unless needed 2013-03-01 22:16:54 +11:00
Simone Bordet 0ec0da9b4b Removed test class brought in by mistake during merge. 2013-02-27 18:31:19 +01:00
Joakim Erdfelt 29b2118870 [maven-release-plugin] prepare for next development iteration 2013-02-26 09:20:45 -07:00
Joakim Erdfelt 2b82b54f6d [maven-release-plugin] prepare release jetty-9.0.0.RC2 2013-02-26 09:20:45 -07:00
Simone Bordet a252841561 401777 - InputStreamResponseListener CJK byte (>=128) cause EOF.
Fixed by adding & 0xFF when returning bytes as integers.
2013-02-26 15:36:48 +01:00
Simone Bordet 34d343e260 401651 - Abort request if maxRequestsQueuedPerDestination is reached. 2013-02-25 09:24:43 +01:00
Greg Wilkins 2d310ac82e 401642 Less verbose INFOs 2013-02-25 14:42:30 +11:00
Simone Bordet 8418acdae4 401414 - Hostname verification fails.
Now using host name instead of host address to create SSLEngines.
2013-02-21 21:08:59 +01:00
Simone Bordet a6510e83ec Made the test more reliable. 2013-02-20 19:19:06 +01:00
Simone Bordet 3ffbb586db 388103 - Add API for tracking down upload progress.
Introduced Request.ContentListener, invoked after the content has been sent.
2013-02-20 17:56:21 +01:00
Simone Bordet 29d779778e Reduced object creation by caching the conversation response listeners. 2013-02-20 15:42:01 +01:00
Simone Bordet 94a344289b 400849 - Conversation hangs if non-first request fails when queued.
Taken the chance to revisit the lifecycle of HttpConversation and HttpExchange
(now they are created as soon as the request is sent, before they were created
when the exchange was associated to the connection).
This change made the conversation listeners available as soon as the request
was sent, so that it was simpler to notify the right listeners also in case of failure
of a non-first request (which fixes the bug).
2013-02-15 18:45:29 +01:00
Simone Bordet 651105c73b 400848 - Redirect fails with non-encoded location URIs. 2013-02-14 21:37:30 +01:00
Simone Bordet df56bd3c27 400014 - Http async client DNS performance.
Introduced SocketAddressResolver to perform DNS resolution in a separate thread,
and updated HttpClient to make use of it.
2013-02-14 21:37:29 +01:00
Simone Bordet dd96cc50b2 400734 - NPE for redirects with relative location.
Now resolving locations against original URL if it is relative.
2013-02-14 21:37:29 +01:00
Simone Bordet 6649b890a7 400434 - Add support for an OutputStream ContentProvider. 2013-02-13 10:25:25 +01:00
Thomas Becker bb3c1433f4 400184: SslContextFactory change. Disable hostname verification if trustAll is set 2013-02-07 11:50:19 +01:00
Joakim Erdfelt 4dc3ed38c2 [maven-release-plugin] prepare for next development iteration 2013-02-05 10:00:36 -07:00
Joakim Erdfelt ed24f78498 [maven-release-plugin] prepare release jetty-9.0.0.RC0 2013-02-05 10:00:36 -07:00
Jesse McConnell e073ceb06d [maven-release-plugin] prepare for next development iteration 2013-02-05 10:00:36 -07:00
Jesse McConnell 2f2ad287af [maven-release-plugin] prepare release jetty-9.0.0.RC0 2013-02-05 10:00:35 -07:00
Thomas Becker 6f91d6a590 Merge branch 'spdy_http_proxy' 2013-01-31 15:13:53 +01:00
Thomas Becker cd30ac104d interims 2013-01-29 09:17:32 +01:00
Simone Bordet ec254cd165 399324 - HttpClient does not handle correctly UnresolvedAddressException. 2013-01-28 23:45:44 +01:00
Simone Bordet 40621f0300 Added test that connects to an external website that exposes a non-HTTP protocol such as SSH. 2013-01-28 23:45:44 +01:00
Simone Bordet 9ba1069383 399319 - Request.getURI() may return negative ports. 2013-01-28 23:45:44 +01:00
Simone Bordet 7c53c317ae Fixed DeferredContentProvider race condition.
HttpSender was setting the listener for asynchronous content before its own state was properly setup.
This was causing race conditions, where a thread could notify HttpSender and find null data members causing later NPEs.

Now the listener is set after the state is setup, removing the race condition.
2013-01-28 17:32:22 +01:00
Thomas Becker 80b44f9940 interims 2013-01-28 15:27:03 +01:00
Thomas Becker 1f6d058b20 intermittent commit 2013-01-28 12:18:30 +01:00
Jan Bartel ae644581dd Port jetty-client IdleTimeoutTest to jetty-9 2013-01-25 14:33:09 +11:00
Greg Wilkins 7fd04a186f cleanup after merge 2013-01-25 11:47:47 +11:00
Greg Wilkins ff350c3740 Merge remote-tracking branch 'origin/jetty-8'
Conflicts:
	jetty-client/src/main/java/org/eclipse/jetty/client/BlockingHttpConnection.java
	jetty-servlets/src/main/java/org/eclipse/jetty/servlets/GzipFilter.java
	jetty-servlets/src/main/java/org/eclipse/jetty/servlets/gzip/AbstractCompressedStream.java
	jetty-servlets/src/test/java/org/eclipse/jetty/servlets/gzip/GzipTester.java
2013-01-25 11:46:03 +11:00
Simone Bordet b2f3852fb3 398872 - SslConnection should not be notified of idle timeouts. First solution. 2013-01-24 10:29:27 +01:00
Joakim Erdfelt b6d551675b Merge branch 'jetty-7' into jetty-8 2013-01-23 13:58:34 -07:00
Jan Bartel 92af54c3fc Make IdleTimeoutTest jdk1.5 compliant 2013-01-22 08:58:35 +11:00
Jan Bartel fe48239b34 Merge remote-tracking branch 'origin/jetty-7' into jetty-8 2013-01-21 16:54:06 +11:00
Jan Bartel 91a94f8213 362226 HttpConnection "wait" call causes thread resource exhaustion 2013-01-21 16:43:57 +11:00
Simone Bordet 44e64aa309 Removed TimedResponseListener, since the timeout mechanism is now
provided by Request.timeout(...) for both blocking and asynchronous send().
2013-01-17 16:15:34 +01:00
Simone Bordet b3f6739d51 Completed the implementation of DeferredContentProvider.
DeferredContentProvider is used to provide content after
Request.send(...) is called, a use case that is useful
in SPDY-to-HTTP proxies, where content arrives in SPDY
data frames at later times than the headers.
2013-01-17 12:53:39 +01:00
Simone Bordet 386fafe790 Avoid copying sensitive headers when copying a Request. 2013-01-17 12:53:39 +01:00
Thomas Becker 8c3edce565 use existing keystore 2013-01-17 12:51:07 +01:00
Thomas Becker c8f4332c34 add missing keystore 2013-01-17 12:39:46 +01:00
Thomas Becker 9ebea3938d 393385: Make hostname verification configurable in SslContextFactory and enable it by default (See http://www.ietf.org/rfc/rfc2818.txt section 3.1) 2013-01-17 10:28:15 +01:00
Jesse McConnell e1c516c7d1 merge from jetty-8 and update license blocks. 2013-01-11 17:04:53 -06:00
Jesse McConnell 863944873d merge from 7 and update license blocks for 2013 2013-01-11 15:01:16 -06:00
Jesse McConnell a4dbb5823c update license blocks for 2013 2013-01-11 14:57:51 -06:00
Greg Wilkins 27c31fb403 jetty-9 organised imports. Cleaned up some TODOs 2013-01-11 16:37:32 +11:00
Simone Bordet b1882a3258 Fixed logging level: from into to debug. 2013-01-10 10:47:25 +01:00
Simone Bordet 57c5803cd8 Changed the default scheduler to ScheduledExecutorScheduler to reduce GC pressure. 2013-01-10 10:26:40 +01:00
Simone Bordet a374ac0cc8 Improved logging of removed connections. 2013-01-10 09:40:21 +01:00
Simone Bordet 55d8088f05 Made HttpDestination to use BlockingArrayQueue (that can grow) instead of
ArrayBlockingQueue, which allocates upfront memory even if it does not use it.
2012-12-21 17:13:07 +01:00
Simone Bordet b6e4f98cf7 Performance improvements to HTTP client after profiling session.
The profiling suggested to reduce the number of unneeded allocations
and this required a couple of API changes.
2012-12-19 16:27:20 +01:00
Simone Bordet c9f4513a89 Reworked HTTP client API, removing usage of Future. 2012-12-19 16:27:20 +01:00
Simone Bordet 58dff061e1 394552 - HEAD requests don't work for jetty-client.
Added a missing call to HttpParser.setHeadResponse()
to inform the parser that it is a response to a HEAD request.
2012-12-17 11:37:40 +01:00
Jan Bartel 43c9bba86d 393158 java.lang.IllegalStateException when sending an empty InputStream 2012-12-17 18:40:50 +11:00
Simone Bordet 2c583ccda4 Introduced Request.CommitListener to separate the pre-commit request event from the commit request event. 2012-12-13 21:01:58 +01:00
Simone Bordet 0682af3502 Introduced Response.HeaderListener to allow applications to control processing of headers. 2012-12-13 17:15:34 +01:00
Simone Bordet 5f17509a18 Fixed handling of IPv6 destinations. 2012-12-12 14:54:58 +01:00
Simone Bordet 8d0c90eef9 Recreating the CookieManager if the CookieStore is changed. 2012-12-12 14:54:22 +01:00
Simone Bordet b9b16529d5 Removed jetty-client's CookieStore to use java.net.CookieStore instead.
This unifies the usage of CookieStores between jetty-client and jetty-websocket, and hopefully other modules as well.
2012-12-12 10:18:18 +01:00
Simone Bordet fb233dbecb Exposed the Request passed to the constructor via a getter.
Subclasses can therefore pass a request built on-the-fly to the super constructor
and are able to get a reference to it.
2012-12-12 10:18:18 +01:00
Simone Bordet d6bd9df93a Aborting the response if the content length limit is reached. 2012-12-07 16:42:25 +01:00
Simone Bordet 97a2f3328f Added CookieStore.removeCookie() method and implementation. 2012-12-07 16:42:25 +01:00
Greg Wilkins 3e151901bf jetty-9 Use public HttpField 2012-12-08 01:41:01 +11:00
Greg Wilkins a20d984d30 jetty-9 Added Trie for cached string lookup. HttpFields does not use StringMap 2012-12-08 01:41:00 +11:00
Simone Bordet b2e878a7e8 + Introduced Request.content(ContentProvider content, String contentType)
+ Introduced a new renamings to clarify concepts
+ Vastly improved Javadocs.
2012-12-04 16:18:09 +01:00
Simone Bordet 6756cc7e75 Fixed compilation problem. 2012-11-23 14:13:07 +01:00
Simone Bordet b7cdb29a14 Simplified connection establishment code. 2012-11-23 13:16:32 +01:00
Greg Wilkins f89909e301 jetty-9 cleaning up dependencies 2012-11-23 16:25:57 +11:00
Simone Bordet 9f86d36d6c Fixed infinite recursion due to method renaming. 2012-11-23 12:18:52 +11:00
Simone Bordet b2c03b04f1 Made jetty-client module compile. 2012-11-23 12:18:51 +11:00
Greg Wilkins 7737dc8c76 394854 Implemented Promise 2012-11-23 12:18:51 +11:00
Simone Bordet 7771b6e27b Added constructor to specify the max length. 2012-11-20 15:44:46 +01:00
Simone Bordet 2079938120 Improved Usage class to show usages. 2012-11-14 12:52:11 +01:00
Simone Bordet e4cbb94ed6 Changed the read logic.
Before, if the stream had no content, InputStreamContentProvider's iterator
hasNext() was returning true, and next() was returning an empty buffer,
because the read was performed in next() and it was not possible to know
before reading whether the stream had content or was already at EOF.

Now the reads are performed in hasNext(), so that it is possible to return
immediately whether the stream is at EOF or not.
This solves a problem with ProxyServlet, where GET requests with no
content indication were proxied to the upstream server as GET requests
with chunked content, which in most cases were not understood by servers.
2012-11-14 12:12:29 +01:00
Simone Bordet 6ef0f415f0 Centralized defaulting of the port, from -1 to 80 or 443 depending on the scheme. 2012-11-14 12:12:29 +01:00
Simone Bordet ba40f7897d Completed port of ConnectHandler and ProxyServlet implementations. 2012-11-13 15:35:51 +01:00
Simone Bordet 9abc3988fb B64 coding and decoding now throws the unchecked UnsupportedCharsetException
rather than the checked UnsupportedEncodingException.
2012-11-13 11:29:54 +01:00
Simone Bordet 19e856fa7b Fixed cookie lookup in case of children paths. 2012-11-07 20:13:53 +01:00
Simone Bordet 28fd4cceac Implemented proxy functionalities for both client and server. 2012-11-07 20:13:53 +01:00
Jesse McConnell bb27f561c1 [maven-release-plugin] prepare for next development iteration 2012-11-05 12:24:06 -06:00
Jesse McConnell 1d767e99a3 [maven-release-plugin] prepare release jetty-8.1.8.v20121105 2012-11-05 12:23:59 -06:00
Jesse McConnell 70d591c430 [maven-release-plugin] prepare for next development iteration 2012-11-05 12:16:03 -06:00
Jesse McConnell 017826b4eb [maven-release-plugin] prepare release jetty-7.6.8.v20121105 2012-11-05 12:15:57 -06:00
Jan Bartel f3af8c8650 Merge remote-tracking branch 'origin/jetty-7' into jetty-8 2012-11-05 16:28:25 +11:00
Greg Wilkins 36ddd3f5d6 393368 min websocket version 2012-11-05 11:02:50 +11:00
Greg Wilkins 52464a5ba6 Merge remote-tracking branch 'origin/jetty-8'
Conflicts:
	jetty-annotations/src/main/java/org/eclipse/jetty/annotations/AnnotationParser.java
	jetty-annotations/src/main/java/org/eclipse/jetty/annotations/ResourceAnnotationHandler.java
	jetty-client/src/test/java/org/eclipse/jetty/client/SslHttpExchangeTest.java
	jetty-client/src/test/java/org/eclipse/jetty/client/SslSecurityListenerTest.java
	jetty-deploy/src/main/java/org/eclipse/jetty/deploy/WebAppDeployer.java
	jetty-deploy/src/main/java/org/eclipse/jetty/deploy/providers/ContextProvider.java
	jetty-http/src/main/resources/org/eclipse/jetty/http/mime.properties
	jetty-http/src/test/java/org/eclipse/jetty/http/HttpFieldsTest.java
	jetty-io/src/main/java/org/eclipse/jetty/io/nio/SelectChannelEndPoint.java
	jetty-jmx/src/main/java/org/eclipse/jetty/jmx/MBeanContainer.java
	jetty-jmx/src/main/java/org/eclipse/jetty/jmx/ObjectMBean.java
	jetty-overlay-deployer/src/main/java/org/eclipse/jetty/overlays/OverlayedAppProvider.java
	jetty-plus/src/main/java/org/eclipse/jetty/plus/annotation/Injection.java
	jetty-plus/src/main/java/org/eclipse/jetty/plus/security/DataSourceLoginService.java
	jetty-proxy/src/main/java/org/eclipse/jetty/proxy/ProxyServlet.java
	jetty-rewrite/src/main/java/org/eclipse/jetty/rewrite/handler/ProxyRule.java
	jetty-security/src/main/java/org/eclipse/jetty/security/authentication/FormAuthenticator.java
	jetty-server/src/main/java/org/eclipse/jetty/server/session/JDBCSessionIdManager.java
	jetty-spdy/spdy-http-server/src/main/java/org/eclipse/jetty/spdy/server/proxy/ProxyHTTPSPDYConnection.java
	jetty-spdy/spdy-jetty-http/src/main/java/org/eclipse/jetty/spdy/http/ServerHTTPSPDYAsyncConnection.java
	jetty-start/src/main/java/org/eclipse/jetty/start/Main.java
	jetty-util/src/main/java/org/eclipse/jetty/util/Fields.java
	jetty-websocket/src/main/java/org/eclipse/jetty/websocket/WebSocketClientFactory.java
	jetty-websocket/src/main/java/org/eclipse/jetty/websocket/WebSocketConnectionRFC6455.java
	jetty-websocket/src/test/java/org/eclipse/jetty/websocket/WebSocketClientTest.java
	jetty-websocket/src/test/java/org/eclipse/jetty/websocket/WebSocketMessageRFC6455Test.java
	test-jetty-nested/src/main/java/org/eclipse/jetty/nested/Dump.java
	test-jetty-webapp/src/main/java/com/acme/Dump.java
2012-11-02 14:08:05 +11:00
Greg Wilkins 8723408731 Merge remote-tracking branch 'origin/jetty-7' into jetty-8
Conflicts:
	jetty-servlets/src/main/java/org/eclipse/jetty/servlets/MultiPartFilter.java
2012-11-02 13:17:53 +11:00
Greg Wilkins 65202e9abe 393363 Use Locale.ENGLISH for all toUpperCase and toLowerCase calls 2012-11-02 11:55:00 +11:00
Simone Bordet 62f8e13397 HTTP client: renamed Request.aborted() to Request.isAborted() to comply with the naming convention. 2012-10-31 13:21:15 +01:00
Simone Bordet b3c1accab9 HTTP client: fixed bug in redirects: the new host was overwritten with the old one. 2012-10-30 22:37:25 +01:00
Simone Bordet 0d762bcdbc HTTP client: refactored response listeners to support lambdas. 2012-10-30 19:22:29 +01:00
Simone Bordet 8d51961516 HTTP client: refactored request listeners to support lambdas. 2012-10-30 19:22:29 +01:00
Simone Bordet 33d97b8dd4 HTTP client: refactored "last exchange" concept out of HttpConversation into HttpExchange. 2012-10-30 12:56:21 +01:00
Simone Bordet 7f37ddbc25 HTTP client: added TestTracker rule. 2012-10-30 12:15:21 +01:00
Simone Bordet ebb76ecfb9 392959 - Review HttpClient.getConversation(long).
Modified to HttpClient.getConversation(long, boolean) in order
to specify whether the conversation must be created or not.
2012-10-30 12:15:21 +01:00