Commit Graph

868 Commits

Author SHA1 Message Date
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
Simone Bordet 80e1e7b47b jetty-9 - HTTP client: increased the test timeout. 2012-09-20 17:48:30 +02:00
Simone Bordet 92c93e2868 jetty-9 - HTTP client: added HttpClient.POST() utility method. 2012-09-20 17:05:09 +02:00
Simone Bordet 851de69d9d jetty-9 - Third take at open/close refactoring. 2012-09-19 18:04:15 +02:00
Simone Bordet 44b3bb067c jetty-9 - Second take at open/close refactoring. 2012-09-19 13:37:47 +02:00
Simone Bordet eb7501405f jetty-9 - HTTP client: more logging for the SSL load test. 2012-09-18 22:04:18 +02:00
Simone Bordet 953f283bce jetty-9 - HTTP client: make SSL load test to wait more for completion. 2012-09-18 22:04:18 +02:00
Simone Bordet e9d0960e8d jetty-9 - HTTP client: implemented gzip decoding. 2012-09-18 17:27:37 +02:00
Simone Bordet ce4ffa7ad3 jetty-9 - HTTP client: using longer timeout to check for test completion in the SSL case. 2012-09-17 21:49:19 +02:00
Simone Bordet 5ba924963d jetty-9 - HTTP client: tests for explicit connection management. 2012-09-17 20:48:54 +02:00
Simone Bordet bd80a64cb9 jetty-9 - HTTP client: implemented InputStreamResponseListener. 2012-09-17 19:27:35 +02:00
Simone Bordet 776aea91d4 jetty-9 - Better toString(). 2012-09-17 19:27:35 +02:00
Simone Bordet 9355e06603 Intermediate commit. 2012-09-17 19:27:35 +02:00
Simone Bordet 566f17fdd0 jetty-9 - HTTP client: reduced test logging. 2012-09-17 16:56:27 +02:00
Simone Bordet 84f40e8519 jetty-9 - Added toString(). 2012-09-17 16:27:59 +02:00
Simone Bordet e7db1661c6 jetty-9 - HTTP client: load test. 2012-09-17 11:46:26 +02:00
Simone Bordet fdd65fb2ea jetty-9 - HTTP client: utility class BytesContentProvider. 2012-09-17 11:46:26 +02:00
Simone Bordet d30eefca69 jetty-9 - HTTP client: parsing must be done in a while loop, in case the buffer contains more data. 2012-09-17 11:46:26 +02:00