Commit Graph

885 Commits

Author SHA1 Message Date
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
Simone Bordet 1173916da1 HTTP client: renamed ResponseListener.Timed to Schedulable. 2012-10-30 12:15:21 +01:00
Simone Bordet 605b0360e1 HTTP client: reviewed API.
The API were inconsistent: sometimes using the C format for getters and setters
(e.g. String host(), void host(String)), sometimes using the JavaBeans format.

Now the API stick with the JavaBean format apart the "fluent" API in Request,
that is in the fluent format (i.e. C setter format, but returning this instead of void).
2012-10-26 23:42:18 +02:00
Simone Bordet 5e7f6988e4 HTTP client: introduced InputStreamContentProvider. 2012-10-26 17:40:28 +02:00
Simone Bordet b0306adf8d HTTP client: fixed bug in case of connection failure:
requests may have stayed queued and never notified of a connection failure
if their number exceeded the max connection per address value.
2012-10-26 14:57:06 +02:00
Simone Bordet 58e8ff8fbf #392733 - Implement a total timeout for asynchronous sends.
Reworked the implementation.
Instead of adding another method for asynchronous sends with
timeout parameters, we now use a TimedResponseListener utility
class, that holds the timeout information.
2012-10-26 14:57:06 +02:00
Simone Bordet e2a988f8fc HTTP client: tests on external synchronization. 2012-10-26 14:57:06 +02:00
Simone Bordet 975a20271f #392733 - Implement a total timeout for asynchronous sends. 2012-10-24 21:36:40 +02:00
Simone Bordet b6bf6899a9 HTTP client: improved request abort handling in case of conversations. 2012-10-23 11:02:50 +02:00
Simone Bordet 8635792507 HTTP client: better implementation for request/response abort. 2012-10-22 23:33:41 +02:00
Thomas Becker 8c3642754e 392470: Fix problem in suspend, expire cycle when HttpChannel.run() is called multiple times (happens for SPDY). Add test cases. Remove unused argument from HttpHandler.messageComplete() interface and it's implementations. 2012-10-19 18:17:29 +02:00
Greg Wilkins 1a895bbd44 392237 move verbose client test failures 2012-10-18 16:53:19 +11:00
Greg Wilkins 7796a49020 392237 cleaned up client test exceptions 2012-10-18 16:36:21 +11:00
Simone Bordet 7e30c4ac20 jetty-9: HTTP client: fixed problem when using default ports such as 80 or 443. 2012-10-12 15:03:14 +02:00
Simone Bordet 6159d6f268 jetty-9: HTTP client: fixed problem when idle connections were closed remotely: the local connection was not closed. 2012-10-12 14:58:21 +02:00
Simone Bordet 707acbeed7 jetty-9: HTTP client: better logging. 2012-10-12 14:58:21 +02:00
Simone Bordet 4ab9715c1b jetty-9: HTTP client: better names for the default thread pool and scheduler. 2012-10-12 14:58:21 +02:00
Greg Wilkins 6c011025b6 jetty-9 added a pretty welcome page 2012-10-12 15:36:32 +11:00
Simone Bordet 109381abdb Merge branch 'jetty-9-client-100-continue-bis' into jetty-9 2012-10-11 10:58:56 +02:00
Simone Bordet 402afc6092 jetty-9: HTTP client: implemented support for 100-Continue. 2012-10-11 10:57:40 +02:00
Joakim Erdfelt f2595a7ec3 Bumping up to jetty-test-helper 2.0 with new @Rule TestTracker & AdvancedRunner status messages. 2012-10-10 09:10:51 -07:00
Simone Bordet 03b27d0c61 jetty-9: HTTP client: always dispatching after connection creation.
This is needed to allow onOpen() to execute just after the connection creation,
otherwise the application may delay the onOpen() call indefinitely by implementing
a request listener method.
2012-10-09 10:36:12 +02:00
Simone Bordet 0e448c6514 jetty-9: HTTP client: replaced usage of deprecated JUnit class. 2012-10-09 10:34:44 +02:00
Simone Bordet 02d0cc125c jetty-9: HTTP client: named the scheduler for better debugging. 2012-10-09 10:34:21 +02:00
Simone Bordet bad8f74840 jetty-9: HTTP client: avoid double dispatch for SSL, and made I/O dispatch a configurable parameter. 2012-10-08 14:25:59 +02:00
Simone Bordet be044015ff jetty-9: HTTP client: allow configuration of sockets. 2012-10-08 11:38:26 +02:00
Simone Bordet 0ecd64a747 jetty-9: HTTP client: implemented Request idle timeout. 2012-10-08 11:05:27 +02:00
Simone Bordet c751860af2 jetty-9: Improved HttpReceiver state handling. 2012-10-08 11:05:27 +02:00
Simone Bordet 2748a9381e jetty-9: Added support for connect timeout. 2012-10-08 11:05:26 +02:00
Greg Wilkins f4d12412eb jetty-9 added FilterConnectionFactory and made SpdyServer use it 2012-10-08 15:22:49 +11:00
Simone Bordet d742578353 jetty-9: HTTP client: improvements.
Request now supports opaque attributes.
ContentResponse supports a contentAsString() method, along with BufferingResponseListener.
2012-09-26 13:29:57 +02:00
Simone Bordet 05a0090dd6 jetty-9: HTTP client: re-enabled debug logging for tests. 2012-09-21 18:12:12 +02:00
Simone Bordet 199971a989 jetty-9: Better use of StdErrLog. 2012-09-21 18:00:13 +02:00
Simone Bordet ab2757ab96 jetty-9: Removed TODOs. 2012-09-21 17:24:45 +02:00
Simone Bordet 12a2d3f475 jetty-9: HTTP client: hiding stack traces for expected exception on server. 2012-09-21 15:23:56 +02:00
Simone Bordet f81dc0161e jetty-9: HTTP client: more tests. 2012-09-21 15:10:40 +02:00
Greg Wilkins 68ee346b8a jetty-9 combined the Container and AggregateLifeCycle into ContainerLifeCycle 2012-09-21 11:45:51 +10:00
Simone Bordet 37a7e5977d Merged branch 'jetty-9' into jetty-9-open-close. 2012-09-20 18:46:16 +02:00
Simone Bordet 6de7398d48 jetty-9 - HTTP client: reducing the number of requests for the load test, as it seems the SSL version is never able to pass cleanly. 2012-09-20 18:33:43 +02:00
Simone Bordet 40382bad3a jetty-9 - Removed references to JUnit 3.x. 2012-09-20 18:23:02 +02:00