Commit Graph

29 Commits

Author SHA1 Message Date
Arjen Poutsma
df31c94d7f Merge branch 'master' of github.com:spring-projects/spring-reactive
# Conflicts:
#	src/test/java/org/springframework/reactive/io/ByteArrayPublisherInputStreamTests.java
2015-09-10 11:23:05 +02:00
Arjen Poutsma
0b19fca73a Added cancellation logic to RequestBodyPublisher. 2015-09-10 11:18:51 +02:00
Arjen Poutsma
5bbeb9c204 Removed BlockingSignalQueue in favor of PublisherSignal. 2015-09-10 11:05:30 +02:00
Sebastien Deleuze
e47069775c Update dependencies (Spring 4.2.1, Tomcat 8.0.26, Jetty 9.3.3)
This commit also polishes build.gradle to use double quotes consistently.
2015-09-08 14:23:35 +02:00
Sebastien Deleuze
357ce225f3 Polishing 2015-09-07 16:00:19 +02:00
Sebastien Deleuze
edb0fcefaf Update RxNetty artifactId to use their latest Snapshot 2015-09-07 15:53:36 +02:00
Arjen Poutsma
0ec29d1c67 Fixed stalling issue in RequestBodyPublisher. 2015-09-04 13:33:02 +02:00
Sebastien Deleuze
c1f179677a Polishing 2015-08-27 20:18:18 +02:00
Rossen Stoyanchev
202825554c Add basic support for @RequestMapping
Just enough for a test with an @ResponseBody method that accepts an
@RequestParam String arg and returning Publisher<String> or String.

See RequestMappingIntegrationTests.
2015-08-25 12:45:46 -04:00
Sebastien Deleuze
9df3dd4495 Polish build.gradle 2015-08-25 14:39:36 +02:00
Rossen Stoyanchev
bc7a5acd50 Add simple URL mapping and handling
This commit adds support for simple URL handler mapping (exact path
match) and an adapter for the HttpHandler interface to be used to
handle the request.

The SimpleUrlHandlerMappingIntegrationTests then maps the URLs
"/foo" and "/bar" to two different handlers.
2015-08-24 17:33:01 -04:00
Rossen Stoyanchev
d6fd274771 Add HttpServer and Jetty/Tomcat/RxNetty implementations
This is a refactoring of the existing "echo" integration test with the
goal to make it easier to add further integration tests.

The HttpServer abstraction is on the test source side for now.
2015-08-24 16:33:22 -04:00
Rossen Stoyanchev
f020a1add1 Refactor package structure
Introduce http and dispatch packages under org.springframework.web to
separate HTTP-specific adapter code from higher level web framework
code. Move classes into their respective locations.
2015-08-24 14:41:58 -04:00
Rossen Stoyanchev
56d6940485 Replace Promises.error->Streams.fail, concatMap->map 2015-08-24 14:03:36 -04:00
Rossen Stoyanchev
6634d1f536 Use Streams from reactor-streams 2015-08-17 18:36:18 -04:00
Rossen Stoyanchev
69d4eaaa3c Use PublisherFactory from reactor-core 2015-08-17 16:52:39 -04:00
Rossen Stoyanchev
773d0444bf Add request handling infrastructure
HandlerMapping, HandlerAdapter, HandlerResultHandler (+ HandlerResult)
as the basic request handling contracts. DispatcherHandler to drive
overall request handling.

DispatcherApp provides minimal implementations of the above contracts
enough to put together a running example that returns
200 text/plain "Hello world".
2015-08-17 15:54:06 -04:00
Rossen Stoyanchev
c682895dee Add RxNetty support
This commit adds RxNetty integration that includes RxNetty-based
implementations of ServerHttpRequest and ServerHttpResponse as well as
an adapter from the RxNetty RequestHandler to the HttpHandler contracts.

Only byte[] is supported at the moment for reading and writing with a
corresponding copy to and from Netty ByteBuf.
2015-08-11 16:17:34 -04:00
Rossen Stoyanchev
2cb32a0fd6 Add ServerHttpRequest & ServerHttpResponse
This commit introduces HTTP request and response abstractions along
with Servlet-based implementations similar to the ones in the http
package of spring-web but using Reactive Streams.

In turn HttpHandler now accepts the request and response types and
returns Publisher<Void> that reflects the end of handling.

The write method on the response also returns Publisher<Void> allowing
deferred writing. At the moment however the underlying Servlet 3.1
support only supports a single publisher after which the connection
is closed.

Only simple byte[] is supported for reading and writing.
2015-08-11 16:09:51 -04:00
Rossen Stoyanchev
bb25267525 Fix whitespaces in build.gradle 2015-08-10 14:18:59 -04:00
Rossen Stoyanchev
e770b7de41 Tests pass
For Tomcat, failures occur if HttpHandlerServlet buffer size is
significantly less than the Tomcat input buffer size.

Also on command line Jetty tests fail with port unavailable unless
the server from the Tomcat tests is also destroyed.
2015-08-08 03:57:29 -04:00
Rossen Stoyanchev
17b3db2988 Add gradle wrapper 2015-08-08 03:57:29 -04:00
Rossen Stoyanchev
c464cddf83 Update versions 2015-08-08 03:57:23 -04:00
Arjen Poutsma
3595c51d40 Introduced DemandCounter 2015-07-29 14:21:10 +02:00
Arjen Poutsma
74a29ac146 Renamed 'rx' package to 'reactive' 2015-07-09 13:42:48 +02:00
Arjen Poutsma
f518d76a77 Working version of Servlet 3.1 <-> RS bridge. 2015-07-07 12:53:45 +02:00
Arjen Poutsma
3b45087c87 work, work. 2015-07-01 15:03:14 +02:00
Arjen Poutsma
c552aaa6f1 work, work. 2015-06-30 13:45:54 +02:00
Arjen Poutsma
342299abf6 Initial commit 2015-06-05 15:38:50 +02:00