919 Commits

Author SHA1 Message Date
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