Commit Graph

241 Commits

Author SHA1 Message Date
Juergen Hoeller
c26272cef6 DelegatingFilterProxy avoids synchronization for pre-resolved delegate
Issue: SPR-10413
2013-08-02 18:17:13 +02:00
Juergen Hoeller
2af891683e Polishing
Issue: SPR-10752
Issue: SPR-10627
(cherry picked from commit ae0f23e)
2013-08-01 00:20:33 +02:00
Rossen Stoyanchev
803779d160 Support List<Part> method arguments
Issue: SPR-10591
2013-07-30 22:01:17 -04:00
Rossen Stoyanchev
4c991ba4d0 Make HTTP scheme parsing case-insensitive
Issue: SPR-10779
2013-07-30 12:30:21 -04:00
Juergen Hoeller
01a71ef5ef Polishing 2013-07-24 13:40:15 +02:00
Rossen Stoyanchev
d0d670cd7d Make the JSON prefix used in converters configurable
Issue: SPR-10627
2013-07-19 17:22:58 -04:00
Rossen Stoyanchev
9af1984b39 Cache constructor instance in WebAsyncUtils
Issue: SPR-10673
2013-07-18 12:13:02 -04:00
Rossen Stoyanchev
aa6f30482f Reverse change committed erroneously 2013-07-17 23:00:17 -04:00
Rossen Stoyanchev
3e53725896 Merge branch 'master' into websocket-stomp 2013-07-17 22:43:30 -04:00
Rossen Stoyanchev
078cfb3e78 Add @ReplyTo/@ReplyToUser, remove deps on spring-web 2013-07-16 22:07:46 -04:00
Arjen Poutsma
14ab2c88cc Request streaming for Apache HttpClient
- Added org.springframework.http.StreamingHttpOutputMessage, which
  allows for a settable request body (as opposed to an output stream).

- Added http.client.HttpComponentsStreamingClientHttpRequest, which
  implements the above mentioned interface, mapping setBody() to a
  setEntity() call on the Apache HttpClient HttpEntityEnclosingRequest.

- Added a 'bufferRequestBody' property to the
  HttpComponentsClientHttpRequestFactory. When this property is set to
  false (default is true), we return a
  HttpComponentsStreamingClientHttpRequest instead of a (request
  buffering) HttpComponentsClientHttpRequest.

Issue: SPR-10728
2013-07-11 09:46:14 -04:00
Rossen Stoyanchev
d650e909b2 Merge branch 'master' into websocket-stomp 2013-06-27 15:58:12 -04:00
Phillip Webb
2d018e5019 Polish @RequestMapping Javadoc
Issue: SPR-10587
2013-06-26 11:15:54 -07:00
Phillip Webb
38c2f253ed 'Rename' HttpHeaders.getIfNotModifiedSince()
Effectively rename HttpHeaders.getIfNotModifiedSince() to
getIfModifiedSince() by adding a new method and deprecating the
old one.

Issue: SPR-10600
2013-06-26 10:44:35 -07:00
Rossen Stoyanchev
c6ecaacc03 Add getResult/hasResult methods to DeferredResult
Issue: SPR-10603
2013-06-20 20:57:24 -04:00
Rossen Stoyanchev
2d8315fba0 Reverse SPR-10402 change that caused 3.2.3 regression
SPR-10402 in Spring Framework 3.2.3 treated empty request parameter
values as missing values, if the empty value was turned into a null
by a PropertyEditor or Converter. This caused the regression.

Issue: SPR-10578, SPR-10402, SPR-10584
2013-06-20 16:20:01 -04:00
Rossen Stoyanchev
55a212d4a0 Add @MessageExceptionHandler
Similar to @ExceptionHandler but for message processing. Such a method
can send messages to both the message broker channel and the client
channel provided the client is subscribed to the target destination.
2013-06-19 22:17:59 -04:00
Juergen Hoeller
a19c976f7f Avoid NPE in ContextLoader when dealing with an untyped ApplicationContextInitializer
Issue: SPR-10449
2013-05-16 16:09:54 +02:00
Juergen Hoeller
cd3d0c35c3 Replaced Map synchronization with ConcurrentHashMap to avoid session access deadlocks
Issue: SPR-10436
2013-05-16 14:33:14 +02:00
Rossen Stoyanchev
a86283eb28 Make removal of jsessionid case insensitive
Issue: SPR-10398
2013-05-14 22:06:59 -04:00
Rossen Stoyanchev
db596d23de Fix deadlock issue in DeferredResult
Previously DeferredResult locked around the setting of the result
including handling up to the part of submitting a dispatch. This
can cause a deadlock if a timeout occurs at the same time since
the Tomcat timeout thread has its own locking that permits only
one thread to do timeout or dispatch processing.

The fix reduces the locking to cover only the attempt to set the
DeferredResult but not the dispatching.

Issue: SPR-10485
2013-05-14 17:01:46 -04:00
Rossen Stoyanchev
05084d504b Add spring-websocket module tests 2013-05-14 13:59:15 -04:00
Rob Winch
9468548116 Add @Override to remaining source files
Issue: SPR-10130
2013-05-13 17:04:56 -05:00
Rossen Stoyanchev
30db112d37 Close InputStream in ResourceHttpMessageConverter
Spring 3.2.2 introduced a change to avoid closing the response stream
in HttpMessageConverters (SPR-10095). However, the InputStream of
resources being written, for example as part of a multi-part request
should be closed. This change ensures that.

Issue: SPR-10460
2013-05-10 17:31:11 -04:00
Juergen Hoeller
1f0f46fb06 ServletContextResourcePatternResolver uses encoded jar file location for UrlResource
Adding overloaded constructors for URI specification to UrlResource, as a convenience.

Issue: SPR-10471
2013-05-10 22:11:40 +02:00
Rossen Stoyanchev
e39fe1822d Allow treating empty @RequestParam as missing value
If type conversion turns an empty request parameter value (i.e. "") to
null, we should treat it as a missing value. By default the
ConversionService doesn't change empty strings and therefore one must
explicitly convert them to null for example by registering a
StringTrimmerEditor with emptyAsNull=true.

Issue: SPR-10402
2013-05-10 12:31:00 -04:00
Rossen Stoyanchev
aaded7e30b Improve default content type selection
Previously ContentNegotiationManager continued with the next
ContentNegotiationStrategy only if the current one returned an empty
list. Now it also does that if the current ContentNegotiationStrategy
returns "*/*". Since the absence of an Accept header and "*/*" have
the same meaning, this allows a default content type to be used in
either case.

Issue: SPR-10513
2013-05-10 11:10:15 -04:00
Phillip Webb
e9a2e688cb Allow late binding ServletContextAwareProcessor
Update ServletContextAwareProcessor to allow subclasses to support late
binding of the ServletConfig and/or ServletContext. Allows for the
post-processor to be registered before the servlet environment has been
initialized.

Issue: SPR-10381
2013-05-08 15:15:08 -07:00
Juergen Hoeller
2a44228b98 Consistent use of <pre class="code">
Issue: SPR-8108
2013-05-07 21:31:26 +02:00
Juergen Hoeller
fcb0cf27d7 MappingJackson(2)HttpMessageConverter alignment 2013-05-07 18:11:55 +02:00
Rossen Stoyanchev
e7f38e5b17 Merge branch 'websocket' 2013-05-06 14:46:29 -04:00
Rossen Stoyanchev
7845ebc428 Add SockJS path detection 2013-05-05 20:51:37 -04:00
Juergen Hoeller
532de1a259 Polishing 2013-05-03 13:45:56 +02:00
Juergen Hoeller
c3b624df29 Polished UriComponents implementation 2013-05-03 13:22:11 +02:00
Juergen Hoeller
f4b97c26df Removed UriTemplate's unused encodeUri template method 2013-05-03 13:02:19 +02:00
Rossen Stoyanchev
2a7935a913 Add WebSocketSession attributes + initialization
In addition to adding the attributes, there is now mechanism for
initializing WebSocketSession instances from attributes of the
handshake request.
2013-05-02 13:47:18 -04:00
Juergen Hoeller
0a8f5b2919 Removed deprecated helper classes and methods (that have been deprecated since 3.0 or before) 2013-05-02 17:25:10 +02:00
Juergen Hoeller
17610c2523 Added note on non-thread-safety of Jackson's DateFormat support 2013-05-02 16:09:30 +02:00
Juergen Hoeller
767bd3f3f8 Upgraded to Jackson 1.9 (raising minimum to 1.8+) and 2.2 2013-05-02 15:51:59 +02:00
Juergen Hoeller
1295c6f340 Upgraded to Hessian 4.0.7; deprecated Burlap support 2013-04-30 15:13:23 +02:00
Juergen Hoeller
9c09a0a037 Consistent Map/Set ordering
Use LinkedHashMaps/Sets wherever exposed to users, and code tests defensively in terms of expected Map/Set ordering. Otherwise, there'll be runtime order differences between JDK 7 and JDK 8 due to internal HashMap/Set implementation differences.

Issue: SPR-9639
2013-04-23 13:53:09 +02:00
Rossen Stoyanchev
3a2c15b0fd Add flush method to ServerHttpResponse
This is useful to make sure response headers are written to the
underlying response. It is also useful in conjunction with long
running, async requests and HTTP streaming, to ensure the Servlet
response buffer is sent to the client without additional delay and
also causes an IOException to be raised if the client has gone away.
2013-04-15 11:03:24 -04:00
Rossen Stoyanchev
6bd6311214 Refactor SockJS code
- configure SockJS handler by type (as well as by instance)
- add method to obtain SockJS handler instance via SockJsConfiguration
- detect presense of jsr-356 and use it if available
2013-04-15 11:03:24 -04:00
Rossen Stoyanchev
88447e503b Add first cut of SockJS server support 2013-04-15 11:03:24 -04:00
Rossen Stoyanchev
cdd7d7bd88 Add javax.websocket.Endpoint configuration support 2013-04-15 11:03:24 -04:00
Juergen Hoeller
6d710563cc Upgraded to Commons FileUpload 1.3 and JSF 2.1, removing deprecated JSF 1.1 VariableResolvers 2013-03-29 22:51:42 +01:00
Juergen Hoeller
15441da969 Removed Apache Commons HttpClient support (superseded by Apache HttpComponents) 2013-03-29 15:03:55 +01:00
Juergen Hoeller
853826a774 Use JDK 1.6's Collections.newSetFromMap instead of manually accessing Maps with dummy Boolean values 2013-03-28 22:14:26 +01:00
Juergen Hoeller
bb14c16938 Revised WebServiceFeature handling: requiring JAX-WS 2.1+, including support for JAX-WS 2.2 service-level features now 2013-03-20 12:20:46 +01:00
Juergen Hoeller
20fb418785 Removed Spring’s own JSP expression support (in favor of JSP 2.0+) 2013-03-19 16:30:46 +01:00