Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
爱吃血肠
spring-framework
提交
1022683d
S
spring-framework
项目概览
爱吃血肠
/
spring-framework
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
S
spring-framework
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
1022683d
编写于
7月 13, 2016
作者:
R
Rossen Stoyanchev
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Fix compiler warnings
上级
cb798726
变更
25
隐藏空白更改
内联
并排
Showing
25 changed file
with
70 addition
and
50 deletion
+70
-50
spring-web-reactive/src/main/java/org/springframework/core/codec/CodecException.java
...n/java/org/springframework/core/codec/CodecException.java
+1
-0
spring-web-reactive/src/main/java/org/springframework/core/convert/support/MonoToCompletableFutureConverter.java
...ore/convert/support/MonoToCompletableFutureConverter.java
+4
-4
spring-web-reactive/src/main/java/org/springframework/core/convert/support/ReactorToRxJava1Converter.java
...ework/core/convert/support/ReactorToRxJava1Converter.java
+6
-6
spring-web-reactive/src/main/java/org/springframework/http/codec/SseEventEncoder.java
.../java/org/springframework/http/codec/SseEventEncoder.java
+17
-15
spring-web-reactive/src/main/java/org/springframework/http/codec/xml/XmlEventDecoder.java
...a/org/springframework/http/codec/xml/XmlEventDecoder.java
+3
-4
spring-web-reactive/src/main/java/org/springframework/http/server/reactive/ServletHttpHandlerAdapter.java
...ework/http/server/reactive/ServletHttpHandlerAdapter.java
+1
-0
spring-web-reactive/src/main/java/org/springframework/web/client/reactive/ClientWebRequest.java
...springframework/web/client/reactive/ClientWebRequest.java
+4
-4
spring-web-reactive/src/main/java/org/springframework/web/client/reactive/DefaultClientWebRequestBuilder.java
...k/web/client/reactive/DefaultClientWebRequestBuilder.java
+1
-1
spring-web-reactive/src/main/java/org/springframework/web/client/reactive/ResponseExtractors.java
...ringframework/web/client/reactive/ResponseExtractors.java
+3
-3
spring-web-reactive/src/main/java/org/springframework/web/client/reactive/WebClient.java
...va/org/springframework/web/client/reactive/WebClient.java
+1
-1
spring-web-reactive/src/main/java/org/springframework/web/client/reactive/WebClientException.java
...ringframework/web/client/reactive/WebClientException.java
+1
-0
spring-web-reactive/src/main/java/org/springframework/web/client/reactive/support/RxJava1ResponseExtractors.java
...eb/client/reactive/support/RxJava1ResponseExtractors.java
+7
-8
spring-web-reactive/src/main/java/org/springframework/web/reactive/result/ContentNegotiatingResultHandlerSupport.java
...active/result/ContentNegotiatingResultHandlerSupport.java
+2
-1
spring-web-reactive/src/main/java/org/springframework/web/reactive/result/method/RequestMappingInfoHandlerMapping.java
...ctive/result/method/RequestMappingInfoHandlerMapping.java
+1
-1
spring-web-reactive/src/main/java/org/springframework/web/reactive/result/view/ViewResolutionResultHandler.java
...web/reactive/result/view/ViewResolutionResultHandler.java
+1
-1
spring-web-reactive/src/main/java/org/springframework/web/server/MediaTypeNotSupportedStatusException.java
...work/web/server/MediaTypeNotSupportedStatusException.java
+1
-0
spring-web-reactive/src/main/java/org/springframework/web/server/MethodNotAllowedException.java
...springframework/web/server/MethodNotAllowedException.java
+1
-0
spring-web-reactive/src/main/java/org/springframework/web/server/NotAcceptableStatusException.java
...ingframework/web/server/NotAcceptableStatusException.java
+1
-0
spring-web-reactive/src/main/java/org/springframework/web/server/ResponseStatusException.java
...g/springframework/web/server/ResponseStatusException.java
+1
-0
spring-web-reactive/src/main/java/org/springframework/web/server/ServerErrorException.java
.../org/springframework/web/server/ServerErrorException.java
+1
-0
spring-web-reactive/src/main/java/org/springframework/web/server/ServerWebInputException.java
...g/springframework/web/server/ServerWebInputException.java
+1
-0
spring-web-reactive/src/main/java/org/springframework/web/server/UnsupportedMediaTypeStatusException.java
...ework/web/server/UnsupportedMediaTypeStatusException.java
+1
-0
spring-web-reactive/src/main/java/org/springframework/web/server/session/DefaultWebSession.java
...springframework/web/server/session/DefaultWebSession.java
+3
-0
spring-web-reactive/src/test/java/org/springframework/http/codec/xml/Jaxb2DecoderTests.java
...org/springframework/http/codec/xml/Jaxb2DecoderTests.java
+6
-0
spring-web-reactive/src/test/java/org/springframework/http/server/reactive/ServerHttpRequestTests.java
...ramework/http/server/reactive/ServerHttpRequestTests.java
+1
-1
未找到文件。
spring-web-reactive/src/main/java/org/springframework/core/codec/CodecException.java
浏览文件 @
1022683d
...
@@ -23,6 +23,7 @@ import org.springframework.core.NestedRuntimeException;
...
@@ -23,6 +23,7 @@ import org.springframework.core.NestedRuntimeException;
*
*
* @author Sebastien Deleuze
* @author Sebastien Deleuze
*/
*/
@SuppressWarnings
(
"serial"
)
public
class
CodecException
extends
NestedRuntimeException
{
public
class
CodecException
extends
NestedRuntimeException
{
public
CodecException
(
String
msg
,
Throwable
cause
)
{
public
CodecException
(
String
msg
,
Throwable
cause
)
{
...
...
spring-web-reactive/src/main/java/org/springframework/core/convert/support/MonoToCompletableFutureConverter.java
浏览文件 @
1022683d
...
@@ -32,8 +32,8 @@ import org.springframework.core.convert.converter.GenericConverter;
...
@@ -32,8 +32,8 @@ import org.springframework.core.convert.converter.GenericConverter;
public
class
MonoToCompletableFutureConverter
implements
GenericConverter
{
public
class
MonoToCompletableFutureConverter
implements
GenericConverter
{
@Override
@Override
public
Set
<
ConvertiblePair
>
getConvertibleTypes
()
{
public
Set
<
GenericConverter
.
ConvertiblePair
>
getConvertibleTypes
()
{
Set
<
GenericConverter
.
ConvertiblePair
>
pairs
=
new
LinkedHashSet
<>();
Set
<
GenericConverter
.
ConvertiblePair
>
pairs
=
new
LinkedHashSet
<>(
2
);
pairs
.
add
(
new
GenericConverter
.
ConvertiblePair
(
Mono
.
class
,
CompletableFuture
.
class
));
pairs
.
add
(
new
GenericConverter
.
ConvertiblePair
(
Mono
.
class
,
CompletableFuture
.
class
));
pairs
.
add
(
new
GenericConverter
.
ConvertiblePair
(
CompletableFuture
.
class
,
Mono
.
class
));
pairs
.
add
(
new
GenericConverter
.
ConvertiblePair
(
CompletableFuture
.
class
,
Mono
.
class
));
return
pairs
;
return
pairs
;
...
@@ -45,10 +45,10 @@ public class MonoToCompletableFutureConverter implements GenericConverter {
...
@@ -45,10 +45,10 @@ public class MonoToCompletableFutureConverter implements GenericConverter {
return
null
;
return
null
;
}
}
else
if
(
CompletableFuture
.
class
.
isAssignableFrom
(
sourceType
.
getType
()))
{
else
if
(
CompletableFuture
.
class
.
isAssignableFrom
(
sourceType
.
getType
()))
{
return
Mono
.
fromFuture
((
CompletableFuture
)
source
);
return
Mono
.
fromFuture
((
CompletableFuture
<?>
)
source
);
}
}
else
if
(
CompletableFuture
.
class
.
isAssignableFrom
(
targetType
.
getType
()))
{
else
if
(
CompletableFuture
.
class
.
isAssignableFrom
(
targetType
.
getType
()))
{
return
Mono
.
from
((
Publisher
)
source
).
toFuture
();
return
Mono
.
from
((
Publisher
<?>
)
source
).
toFuture
();
}
}
return
null
;
return
null
;
}
}
...
...
spring-web-reactive/src/main/java/org/springframework/core/convert/support/ReactorToRxJava1Converter.java
浏览文件 @
1022683d
...
@@ -40,7 +40,7 @@ public final class ReactorToRxJava1Converter implements GenericConverter {
...
@@ -40,7 +40,7 @@ public final class ReactorToRxJava1Converter implements GenericConverter {
@Override
@Override
public
Set
<
GenericConverter
.
ConvertiblePair
>
getConvertibleTypes
()
{
public
Set
<
GenericConverter
.
ConvertiblePair
>
getConvertibleTypes
()
{
Set
<
GenericConverter
.
ConvertiblePair
>
pairs
=
new
LinkedHashSet
<>();
Set
<
GenericConverter
.
ConvertiblePair
>
pairs
=
new
LinkedHashSet
<>(
6
);
pairs
.
add
(
new
GenericConverter
.
ConvertiblePair
(
Flux
.
class
,
Observable
.
class
));
pairs
.
add
(
new
GenericConverter
.
ConvertiblePair
(
Flux
.
class
,
Observable
.
class
));
pairs
.
add
(
new
GenericConverter
.
ConvertiblePair
(
Observable
.
class
,
Flux
.
class
));
pairs
.
add
(
new
GenericConverter
.
ConvertiblePair
(
Observable
.
class
,
Flux
.
class
));
pairs
.
add
(
new
GenericConverter
.
ConvertiblePair
(
Mono
.
class
,
Single
.
class
));
pairs
.
add
(
new
GenericConverter
.
ConvertiblePair
(
Mono
.
class
,
Single
.
class
));
...
@@ -56,22 +56,22 @@ public final class ReactorToRxJava1Converter implements GenericConverter {
...
@@ -56,22 +56,22 @@ public final class ReactorToRxJava1Converter implements GenericConverter {
return
null
;
return
null
;
}
}
if
(
Observable
.
class
.
isAssignableFrom
(
sourceType
.
getType
()))
{
if
(
Observable
.
class
.
isAssignableFrom
(
sourceType
.
getType
()))
{
return
RxJava1ObservableConverter
.
toPublisher
((
Observable
)
source
);
return
RxJava1ObservableConverter
.
toPublisher
((
Observable
<?>
)
source
);
}
}
else
if
(
Observable
.
class
.
isAssignableFrom
(
targetType
.
getType
()))
{
else
if
(
Observable
.
class
.
isAssignableFrom
(
targetType
.
getType
()))
{
return
RxJava1ObservableConverter
.
fromPublisher
((
Publisher
)
source
);
return
RxJava1ObservableConverter
.
fromPublisher
((
Publisher
<?>
)
source
);
}
}
else
if
(
Single
.
class
.
isAssignableFrom
(
sourceType
.
getType
()))
{
else
if
(
Single
.
class
.
isAssignableFrom
(
sourceType
.
getType
()))
{
return
RxJava1SingleConverter
.
toPublisher
((
Single
)
source
);
return
RxJava1SingleConverter
.
toPublisher
((
Single
<?>
)
source
);
}
}
else
if
(
Single
.
class
.
isAssignableFrom
(
targetType
.
getType
()))
{
else
if
(
Single
.
class
.
isAssignableFrom
(
targetType
.
getType
()))
{
return
RxJava1SingleConverter
.
fromPublisher
((
Publisher
)
source
);
return
RxJava1SingleConverter
.
fromPublisher
((
Publisher
<?>
)
source
);
}
}
else
if
(
Completable
.
class
.
isAssignableFrom
(
sourceType
.
getType
()))
{
else
if
(
Completable
.
class
.
isAssignableFrom
(
sourceType
.
getType
()))
{
return
RxJava1CompletableConverter
.
toPublisher
((
Completable
)
source
);
return
RxJava1CompletableConverter
.
toPublisher
((
Completable
)
source
);
}
}
else
if
(
Completable
.
class
.
isAssignableFrom
(
targetType
.
getType
()))
{
else
if
(
Completable
.
class
.
isAssignableFrom
(
targetType
.
getType
()))
{
return
RxJava1CompletableConverter
.
fromPublisher
((
Publisher
)
source
);
return
RxJava1CompletableConverter
.
fromPublisher
((
Publisher
<?>
)
source
);
}
}
return
null
;
return
null
;
}
}
...
...
spring-web-reactive/src/main/java/org/springframework/http/codec/SseEventEncoder.java
浏览文件 @
1022683d
...
@@ -25,9 +25,9 @@ import reactor.core.publisher.Flux;
...
@@ -25,9 +25,9 @@ import reactor.core.publisher.Flux;
import
reactor.core.publisher.Mono
;
import
reactor.core.publisher.Mono
;
import
org.springframework.core.ResolvableType
;
import
org.springframework.core.ResolvableType
;
import
org.springframework.core.codec.AbstractEncoder
;
import
org.springframework.core.codec.CodecException
;
import
org.springframework.core.codec.CodecException
;
import
org.springframework.core.codec.Encoder
;
import
org.springframework.core.codec.Encoder
;
import
org.springframework.core.codec.AbstractEncoder
;
import
org.springframework.core.io.buffer.DataBuffer
;
import
org.springframework.core.io.buffer.DataBuffer
;
import
org.springframework.core.io.buffer.DataBufferFactory
;
import
org.springframework.core.io.buffer.DataBufferFactory
;
import
org.springframework.core.io.buffer.FlushingDataBuffer
;
import
org.springframework.core.io.buffer.FlushingDataBuffer
;
...
@@ -96,20 +96,7 @@ public class SseEventEncoder extends AbstractEncoder<Object> {
...
@@ -96,20 +96,7 @@ public class SseEventEncoder extends AbstractEncoder<Object> {
sb
.
append
(((
String
)
data
).
replaceAll
(
"\\n"
,
"\ndata:"
)).
append
(
"\n"
);
sb
.
append
(((
String
)
data
).
replaceAll
(
"\\n"
,
"\ndata:"
)).
append
(
"\n"
);
}
}
else
{
else
{
Optional
<
Encoder
<?>>
encoder
=
dataEncoders
dataBuffer
=
applyEncoder
(
data
,
mediaType
,
bufferFactory
);
.
stream
()
.
filter
(
e
->
e
.
canEncode
(
ResolvableType
.
forClass
(
data
.
getClass
()),
mediaType
))
.
findFirst
();
if
(
encoder
.
isPresent
())
{
dataBuffer
=
((
Encoder
<
Object
>)
encoder
.
get
())
.
encode
(
Mono
.
just
(
data
),
bufferFactory
,
ResolvableType
.
forClass
(
data
.
getClass
()),
mediaType
)
.
concatWith
(
encodeString
(
"\n"
,
bufferFactory
));
}
else
{
throw
new
CodecException
(
"No suitable encoder found!"
);
}
}
}
}
}
...
@@ -126,6 +113,21 @@ public class SseEventEncoder extends AbstractEncoder<Object> {
...
@@ -126,6 +113,21 @@ public class SseEventEncoder extends AbstractEncoder<Object> {
}
}
@SuppressWarnings
(
"unchecked"
)
private
<
T
>
Flux
<
DataBuffer
>
applyEncoder
(
Object
data
,
MediaType
mediaType
,
DataBufferFactory
bufferFactory
)
{
ResolvableType
elementType
=
ResolvableType
.
forClass
(
data
.
getClass
());
Optional
<
Encoder
<?>>
encoder
=
dataEncoders
.
stream
()
.
filter
(
e
->
e
.
canEncode
(
elementType
,
mediaType
))
.
findFirst
();
if
(!
encoder
.
isPresent
())
{
return
Flux
.
error
(
new
CodecException
(
"No suitable encoder found!"
));
}
return
((
Encoder
<
T
>)
encoder
.
get
())
.
encode
(
Mono
.
just
((
T
)
data
),
bufferFactory
,
elementType
,
mediaType
)
.
concatWith
(
encodeString
(
"\n"
,
bufferFactory
));
}
private
Mono
<
DataBuffer
>
encodeString
(
String
str
,
DataBufferFactory
bufferFactory
)
{
private
Mono
<
DataBuffer
>
encodeString
(
String
str
,
DataBufferFactory
bufferFactory
)
{
byte
[]
bytes
=
str
.
getBytes
(
StandardCharsets
.
UTF_8
);
byte
[]
bytes
=
str
.
getBytes
(
StandardCharsets
.
UTF_8
);
DataBuffer
buffer
=
bufferFactory
.
allocateBuffer
(
bytes
.
length
).
write
(
bytes
);
DataBuffer
buffer
=
bufferFactory
.
allocateBuffer
(
bytes
.
length
).
write
(
bytes
);
...
...
spring-web-reactive/src/main/java/org/springframework/http/codec/xml/XmlEventDecoder.java
浏览文件 @
1022683d
...
@@ -84,6 +84,7 @@ public class XmlEventDecoder extends AbstractDecoder<XMLEvent> {
...
@@ -84,6 +84,7 @@ public class XmlEventDecoder extends AbstractDecoder<XMLEvent> {
}
}
@Override
@Override
@SuppressWarnings
(
"unchecked"
)
public
Flux
<
XMLEvent
>
decode
(
Publisher
<
DataBuffer
>
inputStream
,
ResolvableType
elementType
,
public
Flux
<
XMLEvent
>
decode
(
Publisher
<
DataBuffer
>
inputStream
,
ResolvableType
elementType
,
MimeType
mimeType
,
Object
...
hints
)
{
MimeType
mimeType
,
Object
...
hints
)
{
Flux
<
DataBuffer
>
flux
=
Flux
.
from
(
inputStream
);
Flux
<
DataBuffer
>
flux
=
Flux
.
from
(
inputStream
);
...
@@ -96,10 +97,8 @@ public class XmlEventDecoder extends AbstractDecoder<XMLEvent> {
...
@@ -96,10 +97,8 @@ public class XmlEventDecoder extends AbstractDecoder<XMLEvent> {
flatMap
(
dataBuffer
->
{
flatMap
(
dataBuffer
->
{
try
{
try
{
InputStream
is
=
dataBuffer
.
asInputStream
();
InputStream
is
=
dataBuffer
.
asInputStream
();
XMLEventReader
eventReader
=
XMLEventReader
eventReader
=
inputFactory
.
createXMLEventReader
(
is
);
inputFactory
.
createXMLEventReader
(
is
);
return
Flux
.
fromIterable
((
Iterable
<
XMLEvent
>)
()
->
eventReader
);
return
Flux
.
fromIterable
((
Iterable
<
XMLEvent
>)
()
->
eventReader
);
}
}
catch
(
XMLStreamException
ex
)
{
catch
(
XMLStreamException
ex
)
{
return
Mono
.
error
(
ex
);
return
Mono
.
error
(
ex
);
...
...
spring-web-reactive/src/main/java/org/springframework/http/server/reactive/ServletHttpHandlerAdapter.java
浏览文件 @
1022683d
...
@@ -38,6 +38,7 @@ import org.springframework.util.Assert;
...
@@ -38,6 +38,7 @@ import org.springframework.util.Assert;
* @author Rossen Stoyanchev
* @author Rossen Stoyanchev
*/
*/
@WebServlet
(
asyncSupported
=
true
)
@WebServlet
(
asyncSupported
=
true
)
@SuppressWarnings
(
"serial"
)
public
class
ServletHttpHandlerAdapter
extends
HttpServlet
{
public
class
ServletHttpHandlerAdapter
extends
HttpServlet
{
private
static
final
int
DEFAULT_BUFFER_SIZE
=
8192
;
private
static
final
int
DEFAULT_BUFFER_SIZE
=
8192
;
...
...
spring-web-reactive/src/main/java/org/springframework/web/client/reactive/ClientWebRequest.java
浏览文件 @
1022683d
...
@@ -34,7 +34,7 @@ import org.springframework.util.MultiValueMap;
...
@@ -34,7 +34,7 @@ import org.springframework.util.MultiValueMap;
*
*
* @author Brian Clozel
* @author Brian Clozel
*/
*/
public
class
ClientWebRequest
{
public
class
ClientWebRequest
{
protected
final
HttpMethod
httpMethod
;
protected
final
HttpMethod
httpMethod
;
...
@@ -44,7 +44,7 @@ public class ClientWebRequest {
...
@@ -44,7 +44,7 @@ public class ClientWebRequest {
private
MultiValueMap
<
String
,
HttpCookie
>
cookies
;
private
MultiValueMap
<
String
,
HttpCookie
>
cookies
;
protected
Publisher
body
;
protected
Publisher
<?>
body
;
protected
ResolvableType
elementType
;
protected
ResolvableType
elementType
;
...
@@ -78,11 +78,11 @@ public class ClientWebRequest {
...
@@ -78,11 +78,11 @@ public class ClientWebRequest {
this
.
cookies
=
cookies
;
this
.
cookies
=
cookies
;
}
}
public
Publisher
getBody
()
{
public
Publisher
<?>
getBody
()
{
return
body
;
return
body
;
}
}
public
void
setBody
(
Publisher
body
)
{
public
void
setBody
(
Publisher
<?>
body
)
{
this
.
body
=
body
;
this
.
body
=
body
;
}
}
...
...
spring-web-reactive/src/main/java/org/springframework/web/client/reactive/DefaultClientWebRequestBuilder.java
浏览文件 @
1022683d
...
@@ -59,7 +59,7 @@ public class DefaultClientWebRequestBuilder implements ClientWebRequestBuilder {
...
@@ -59,7 +59,7 @@ public class DefaultClientWebRequestBuilder implements ClientWebRequestBuilder {
private
final
MultiValueMap
<
String
,
HttpCookie
>
cookies
=
new
LinkedMultiValueMap
<>();
private
final
MultiValueMap
<
String
,
HttpCookie
>
cookies
=
new
LinkedMultiValueMap
<>();
private
Publisher
body
;
private
Publisher
<?>
body
;
private
ResolvableType
elementType
;
private
ResolvableType
elementType
;
...
...
spring-web-reactive/src/main/java/org/springframework/web/client/reactive/ResponseExtractors.java
浏览文件 @
1022683d
...
@@ -43,8 +43,8 @@ public class ResponseExtractors {
...
@@ -43,8 +43,8 @@ public class ResponseExtractors {
* Extract the response body and decode it, returning it as a {@code Mono<T>}
* Extract the response body and decode it, returning it as a {@code Mono<T>}
* @see ResolvableType#forClassWithGenerics(Class, Class[])
* @see ResolvableType#forClassWithGenerics(Class, Class[])
*/
*/
@SuppressWarnings
(
"unchecked"
)
public
static
<
T
>
ResponseExtractor
<
Mono
<
T
>>
body
(
ResolvableType
bodyType
)
{
public
static
<
T
>
ResponseExtractor
<
Mono
<
T
>>
body
(
ResolvableType
bodyType
)
{
// noinspection unchecked
return
(
clientResponse
,
messageConverters
)
->
(
Mono
<
T
>)
clientResponse
return
(
clientResponse
,
messageConverters
)
->
(
Mono
<
T
>)
clientResponse
.
flatMap
(
resp
->
decodeResponseBody
(
resp
,
bodyType
,
.
flatMap
(
resp
->
decodeResponseBody
(
resp
,
bodyType
,
messageConverters
))
messageConverters
))
...
@@ -81,6 +81,7 @@ public class ResponseExtractors {
...
@@ -81,6 +81,7 @@ public class ResponseExtractors {
* a single type {@code T}
* a single type {@code T}
* @see ResolvableType#forClassWithGenerics(Class, Class[])
* @see ResolvableType#forClassWithGenerics(Class, Class[])
*/
*/
@SuppressWarnings
(
"unchecked"
)
public
static
<
T
>
ResponseExtractor
<
Mono
<
ResponseEntity
<
T
>>>
response
(
public
static
<
T
>
ResponseExtractor
<
Mono
<
ResponseEntity
<
T
>>>
response
(
ResolvableType
bodyType
)
{
ResolvableType
bodyType
)
{
return
(
clientResponse
,
messageConverters
)
->
clientResponse
.
then
(
response
->
{
return
(
clientResponse
,
messageConverters
)
->
clientResponse
.
then
(
response
->
{
...
@@ -92,7 +93,6 @@ public class ResponseExtractors {
...
@@ -92,7 +93,6 @@ public class ResponseExtractors {
Mono
.
just
(
response
.
getStatusCode
()));
Mono
.
just
(
response
.
getStatusCode
()));
}).
map
(
tuple
->
{
}).
map
(
tuple
->
{
Object
body
=
(
tuple
.
getT1
()
!=
EMPTY_BODY
?
tuple
.
getT1
()
:
null
);
Object
body
=
(
tuple
.
getT1
()
!=
EMPTY_BODY
?
tuple
.
getT1
()
:
null
);
// noinspection unchecked
return
new
ResponseEntity
<>((
T
)
body
,
tuple
.
getT2
(),
tuple
.
getT3
());
return
new
ResponseEntity
<>((
T
)
body
,
tuple
.
getT2
(),
tuple
.
getT3
());
});
});
}
}
...
@@ -138,6 +138,7 @@ public class ResponseExtractors {
...
@@ -138,6 +138,7 @@ public class ResponseExtractors {
return
(
clientResponse
,
messageConverters
)
->
clientResponse
.
map
(
resp
->
resp
.
getHeaders
());
return
(
clientResponse
,
messageConverters
)
->
clientResponse
.
map
(
resp
->
resp
.
getHeaders
());
}
}
@SuppressWarnings
(
"unchecked"
)
protected
static
<
T
>
Flux
<
T
>
decodeResponseBody
(
ClientHttpResponse
response
,
protected
static
<
T
>
Flux
<
T
>
decodeResponseBody
(
ClientHttpResponse
response
,
ResolvableType
responseType
,
ResolvableType
responseType
,
List
<
HttpMessageConverter
<?>>
messageConverters
)
{
List
<
HttpMessageConverter
<?>>
messageConverters
)
{
...
@@ -150,7 +151,6 @@ public class ResponseExtractors {
...
@@ -150,7 +151,6 @@ public class ResponseExtractors {
"Could not decode response body of type '"
+
contentType
"Could not decode response body of type '"
+
contentType
+
"' with target type '"
+
responseType
.
toString
()
+
"'"
));
+
"' with target type '"
+
responseType
.
toString
()
+
"'"
));
}
}
// noinspection unchecked
return
(
Flux
<
T
>)
converter
.
get
().
read
(
responseType
,
response
);
return
(
Flux
<
T
>)
converter
.
get
().
read
(
responseType
,
response
);
}
}
...
...
spring-web-reactive/src/main/java/org/springframework/web/client/reactive/WebClient.java
浏览文件 @
1022683d
...
@@ -204,6 +204,7 @@ public final class WebClient {
...
@@ -204,6 +204,7 @@ public final class WebClient {
}
}
}
}
@SuppressWarnings
(
"unchecked"
)
protected
Mono
<
Void
>
writeRequestBody
(
Publisher
<?>
content
,
protected
Mono
<
Void
>
writeRequestBody
(
Publisher
<?>
content
,
ResolvableType
requestType
,
ClientHttpRequest
request
,
ResolvableType
requestType
,
ClientHttpRequest
request
,
List
<
HttpMessageConverter
<?>>
messageConverters
)
{
List
<
HttpMessageConverter
<?>>
messageConverters
)
{
...
@@ -215,7 +216,6 @@ public final class WebClient {
...
@@ -215,7 +216,6 @@ public final class WebClient {
"Could not encode request body of type '"
+
contentType
"Could not encode request body of type '"
+
contentType
+
"' with target type '"
+
requestType
.
toString
()
+
"'"
));
+
"' with target type '"
+
requestType
.
toString
()
+
"'"
));
}
}
// noinspection unchecked
return
converter
.
get
().
write
((
Publisher
)
content
,
requestType
,
contentType
,
request
);
return
converter
.
get
().
write
((
Publisher
)
content
,
requestType
,
contentType
,
request
);
}
}
...
...
spring-web-reactive/src/main/java/org/springframework/web/client/reactive/WebClientException.java
浏览文件 @
1022683d
...
@@ -24,6 +24,7 @@ import org.springframework.core.NestedRuntimeException;
...
@@ -24,6 +24,7 @@ import org.springframework.core.NestedRuntimeException;
*
*
* @author Brian Clozel
* @author Brian Clozel
*/
*/
@SuppressWarnings
(
"serial"
)
public
class
WebClientException
extends
NestedRuntimeException
{
public
class
WebClientException
extends
NestedRuntimeException
{
public
WebClientException
(
String
msg
)
{
public
WebClientException
(
String
msg
)
{
...
...
spring-web-reactive/src/main/java/org/springframework/web/client/reactive/support/RxJava1ResponseExtractors.java
浏览文件 @
1022683d
...
@@ -40,15 +40,15 @@ import rx.Single;
...
@@ -40,15 +40,15 @@ import rx.Single;
*
*
* @author Brian Clozel
* @author Brian Clozel
*/
*/
public
class
RxJava1ResponseExtractors
{
public
class
RxJava1ResponseExtractors
{
/**
/**
* Extract the response body and decode it, returning it as a {@code Single<T>}
* Extract the response body and decode it, returning it as a {@code Single<T>}
*/
*/
@SuppressWarnings
(
"unchecked"
)
public
static
<
T
>
ResponseExtractor
<
Single
<
T
>>
body
(
Class
<
T
>
sourceClass
)
{
public
static
<
T
>
ResponseExtractor
<
Single
<
T
>>
body
(
Class
<
T
>
sourceClass
)
{
ResolvableType
resolvableType
=
ResolvableType
.
forClass
(
sourceClass
);
ResolvableType
resolvableType
=
ResolvableType
.
forClass
(
sourceClass
);
//noinspection unchecked
return
(
clientResponse
,
messageConverters
)
->
(
Single
<
T
>)
RxJava1SingleConverter
return
(
clientResponse
,
messageConverters
)
->
(
Single
<
T
>)
RxJava1SingleConverter
.
fromPublisher
(
clientResponse
.
fromPublisher
(
clientResponse
.
flatMap
(
resp
->
decodeResponseBody
(
resp
,
resolvableType
,
messageConverters
)).
next
());
.
flatMap
(
resp
->
decodeResponseBody
(
resp
,
resolvableType
,
messageConverters
)).
next
());
...
@@ -69,20 +69,19 @@ public class RxJava1ResponseExtractors {
...
@@ -69,20 +69,19 @@ public class RxJava1ResponseExtractors {
* Extract the full response body as a {@code ResponseEntity}
* Extract the full response body as a {@code ResponseEntity}
* with its body decoded as a single type {@code T}
* with its body decoded as a single type {@code T}
*/
*/
@SuppressWarnings
(
"unchecked"
)
public
static
<
T
>
ResponseExtractor
<
Single
<
ResponseEntity
<
T
>>>
response
(
Class
<
T
>
sourceClass
)
{
public
static
<
T
>
ResponseExtractor
<
Single
<
ResponseEntity
<
T
>>>
response
(
Class
<
T
>
sourceClass
)
{
ResolvableType
resolvableType
=
ResolvableType
.
forClass
(
sourceClass
);
ResolvableType
resolvableType
=
ResolvableType
.
forClass
(
sourceClass
);
return
(
clientResponse
,
messageConverters
)
->
(
Single
<
ResponseEntity
<
T
>>)
return
(
clientResponse
,
messageConverters
)
->
RxJava1SingleConverter
.
fromPublisher
(
clientResponse
RxJava1SingleConverter
.
fromPublisher
(
clientResponse
.
then
(
response
->
.
then
(
response
->
Mono
.
when
(
Mono
.
when
(
decodeResponseBody
(
response
,
resolvableType
,
messageConverters
).
next
(),
decodeResponseBody
(
response
,
resolvableType
,
messageConverters
).
next
(),
Mono
.
just
(
response
.
getHeaders
()),
Mono
.
just
(
response
.
getHeaders
()),
Mono
.
just
(
response
.
getStatusCode
())))
Mono
.
just
(
response
.
getStatusCode
())))
.
map
(
tuple
->
{
.
map
(
tuple
->
//noinspection unchecked
new
ResponseEntity
<>((
T
)
tuple
.
getT1
(),
tuple
.
getT2
(),
tuple
.
getT3
())));
return
new
ResponseEntity
<>((
T
)
tuple
.
getT1
(),
tuple
.
getT2
(),
tuple
.
getT3
());
}));
}
}
/**
/**
...
@@ -107,6 +106,7 @@ public class RxJava1ResponseExtractors {
...
@@ -107,6 +106,7 @@ public class RxJava1ResponseExtractors {
.
fromPublisher
(
clientResponse
.
map
(
resp
->
resp
.
getHeaders
()));
.
fromPublisher
(
clientResponse
.
map
(
resp
->
resp
.
getHeaders
()));
}
}
@SuppressWarnings
(
"unchecked"
)
protected
static
<
T
>
Flux
<
T
>
decodeResponseBody
(
ClientHttpResponse
response
,
ResolvableType
responseType
,
protected
static
<
T
>
Flux
<
T
>
decodeResponseBody
(
ClientHttpResponse
response
,
ResolvableType
responseType
,
List
<
HttpMessageConverter
<?>>
messageConverters
)
{
List
<
HttpMessageConverter
<?>>
messageConverters
)
{
...
@@ -116,7 +116,6 @@ public class RxJava1ResponseExtractors {
...
@@ -116,7 +116,6 @@ public class RxJava1ResponseExtractors {
return
Flux
.
error
(
new
IllegalStateException
(
"Could not decode response body of type '"
+
contentType
+
return
Flux
.
error
(
new
IllegalStateException
(
"Could not decode response body of type '"
+
contentType
+
"' with target type '"
+
responseType
.
toString
()
+
"'"
));
"' with target type '"
+
responseType
.
toString
()
+
"'"
));
}
}
//noinspection unchecked
return
(
Flux
<
T
>)
converter
.
get
().
read
(
responseType
,
response
);
return
(
Flux
<
T
>)
converter
.
get
().
read
(
responseType
,
response
);
}
}
...
...
spring-web-reactive/src/main/java/org/springframework/web/reactive/result/ContentNegotiatingResultHandlerSupport.java
浏览文件 @
1022683d
...
@@ -130,8 +130,9 @@ public abstract class ContentNegotiatingResultHandlerSupport implements Ordered
...
@@ -130,8 +130,9 @@ public abstract class ContentNegotiatingResultHandlerSupport implements Ordered
return
(
mediaTypes
.
isEmpty
()
?
Collections
.
singletonList
(
MediaType
.
ALL
)
:
mediaTypes
);
return
(
mediaTypes
.
isEmpty
()
?
Collections
.
singletonList
(
MediaType
.
ALL
)
:
mediaTypes
);
}
}
@SuppressWarnings
(
"unchecked"
)
private
List
<
MediaType
>
getProducibleTypes
(
ServerWebExchange
exchange
,
List
<
MediaType
>
mediaTypes
)
{
private
List
<
MediaType
>
getProducibleTypes
(
ServerWebExchange
exchange
,
List
<
MediaType
>
mediaTypes
)
{
Optional
<
?
>
optional
=
exchange
.
getAttribute
(
HandlerMapping
.
PRODUCIBLE_MEDIA_TYPES_ATTRIBUTE
);
Optional
<
Object
>
optional
=
exchange
.
getAttribute
(
HandlerMapping
.
PRODUCIBLE_MEDIA_TYPES_ATTRIBUTE
);
if
(
optional
.
isPresent
())
{
if
(
optional
.
isPresent
())
{
Set
<
MediaType
>
set
=
(
Set
<
MediaType
>)
optional
.
get
();
Set
<
MediaType
>
set
=
(
Set
<
MediaType
>)
optional
.
get
();
return
new
ArrayList
<>(
set
);
return
new
ArrayList
<>(
set
);
...
...
spring-web-reactive/src/main/java/org/springframework/web/reactive/result/method/RequestMappingInfoHandlerMapping.java
浏览文件 @
1022683d
...
@@ -313,7 +313,7 @@ public abstract class RequestMappingInfoHandlerMapping extends AbstractHandlerMe
...
@@ -313,7 +313,7 @@ public abstract class RequestMappingInfoHandlerMapping extends AbstractHandlerMe
public
Set
<
String
>
getAllowedMethods
()
{
public
Set
<
String
>
getAllowedMethods
()
{
return
this
.
partialMatches
.
stream
().
return
this
.
partialMatches
.
stream
().
flatMap
(
m
->
m
.
getInfo
().
getMethodsCondition
().
getMethods
().
stream
()).
flatMap
(
m
->
m
.
getInfo
().
getMethodsCondition
().
getMethods
().
stream
()).
map
(
Enum:
:
name
).
map
(
requestMethod
->
requestMethod
.
name
()
).
collect
(
Collectors
.
toCollection
(
LinkedHashSet:
:
new
));
collect
(
Collectors
.
toCollection
(
LinkedHashSet:
:
new
));
}
}
...
...
spring-web-reactive/src/main/java/org/springframework/web/reactive/result/view/ViewResolutionResultHandler.java
浏览文件 @
1022683d
...
@@ -249,12 +249,12 @@ public class ViewResolutionResultHandler extends ContentNegotiatingResultHandler
...
@@ -249,12 +249,12 @@ public class ViewResolutionResultHandler extends ContentNegotiatingResultHandler
return
StringUtils
.
stripFilenameExtension
(
path
);
return
StringUtils
.
stripFilenameExtension
(
path
);
}
}
@SuppressWarnings
(
"unchecked"
)
private
Object
updateModel
(
Object
value
,
HandlerResult
result
)
{
private
Object
updateModel
(
Object
value
,
HandlerResult
result
)
{
if
(
value
instanceof
Model
)
{
if
(
value
instanceof
Model
)
{
result
.
getModel
().
addAllAttributes
(((
Model
)
value
).
asMap
());
result
.
getModel
().
addAllAttributes
(((
Model
)
value
).
asMap
());
}
}
else
if
(
value
instanceof
Map
)
{
else
if
(
value
instanceof
Map
)
{
//noinspection unchecked
result
.
getModel
().
addAllAttributes
((
Map
<
String
,
?>)
value
);
result
.
getModel
().
addAllAttributes
((
Map
<
String
,
?>)
value
);
}
}
else
{
else
{
...
...
spring-web-reactive/src/main/java/org/springframework/web/server/MediaTypeNotSupportedStatusException.java
浏览文件 @
1022683d
...
@@ -26,6 +26,7 @@ import org.springframework.http.MediaType;
...
@@ -26,6 +26,7 @@ import org.springframework.http.MediaType;
*
*
* @author Rossen Stoyanchev
* @author Rossen Stoyanchev
*/
*/
@SuppressWarnings
(
"serial"
)
public
class
MediaTypeNotSupportedStatusException
extends
ResponseStatusException
{
public
class
MediaTypeNotSupportedStatusException
extends
ResponseStatusException
{
private
final
List
<
MediaType
>
supportedMediaTypes
;
private
final
List
<
MediaType
>
supportedMediaTypes
;
...
...
spring-web-reactive/src/main/java/org/springframework/web/server/MethodNotAllowedException.java
浏览文件 @
1022683d
...
@@ -28,6 +28,7 @@ import org.springframework.util.Assert;
...
@@ -28,6 +28,7 @@ import org.springframework.util.Assert;
*
*
* @author Rossen Stoyanchev
* @author Rossen Stoyanchev
*/
*/
@SuppressWarnings
(
"serial"
)
public
class
MethodNotAllowedException
extends
ResponseStatusException
{
public
class
MethodNotAllowedException
extends
ResponseStatusException
{
private
String
method
;
private
String
method
;
...
...
spring-web-reactive/src/main/java/org/springframework/web/server/NotAcceptableStatusException.java
浏览文件 @
1022683d
...
@@ -26,6 +26,7 @@ import org.springframework.http.MediaType;
...
@@ -26,6 +26,7 @@ import org.springframework.http.MediaType;
*
*
* @author Rossen Stoyanchev
* @author Rossen Stoyanchev
*/
*/
@SuppressWarnings
(
"serial"
)
public
class
NotAcceptableStatusException
extends
ResponseStatusException
{
public
class
NotAcceptableStatusException
extends
ResponseStatusException
{
private
final
List
<
MediaType
>
supportedMediaTypes
;
private
final
List
<
MediaType
>
supportedMediaTypes
;
...
...
spring-web-reactive/src/main/java/org/springframework/web/server/ResponseStatusException.java
浏览文件 @
1022683d
...
@@ -24,6 +24,7 @@ import org.springframework.util.Assert;
...
@@ -24,6 +24,7 @@ import org.springframework.util.Assert;
*
*
* @author Rossen Stoyanchev
* @author Rossen Stoyanchev
*/
*/
@SuppressWarnings
(
"serial"
)
public
class
ResponseStatusException
extends
NestedRuntimeException
{
public
class
ResponseStatusException
extends
NestedRuntimeException
{
private
final
HttpStatus
status
;
private
final
HttpStatus
status
;
...
...
spring-web-reactive/src/main/java/org/springframework/web/server/ServerErrorException.java
浏览文件 @
1022683d
...
@@ -27,6 +27,7 @@ import org.springframework.http.HttpStatus;
...
@@ -27,6 +27,7 @@ import org.springframework.http.HttpStatus;
*
*
* @author Rossen Stoyanchev
* @author Rossen Stoyanchev
*/
*/
@SuppressWarnings
(
"serial"
)
public
class
ServerErrorException
extends
ResponseStatusException
{
public
class
ServerErrorException
extends
ResponseStatusException
{
private
final
MethodParameter
parameter
;
private
final
MethodParameter
parameter
;
...
...
spring-web-reactive/src/main/java/org/springframework/web/server/ServerWebInputException.java
浏览文件 @
1022683d
...
@@ -27,6 +27,7 @@ import org.springframework.http.HttpStatus;
...
@@ -27,6 +27,7 @@ import org.springframework.http.HttpStatus;
*
*
* @author Rossen Stoyanchev
* @author Rossen Stoyanchev
*/
*/
@SuppressWarnings
(
"serial"
)
public
class
ServerWebInputException
extends
ResponseStatusException
{
public
class
ServerWebInputException
extends
ResponseStatusException
{
private
final
MethodParameter
parameter
;
private
final
MethodParameter
parameter
;
...
...
spring-web-reactive/src/main/java/org/springframework/web/server/UnsupportedMediaTypeStatusException.java
浏览文件 @
1022683d
...
@@ -27,6 +27,7 @@ import org.springframework.http.MediaType;
...
@@ -27,6 +27,7 @@ import org.springframework.http.MediaType;
*
*
* @author Rossen Stoyanchev
* @author Rossen Stoyanchev
*/
*/
@SuppressWarnings
(
"serial"
)
public
class
UnsupportedMediaTypeStatusException
extends
ResponseStatusException
{
public
class
UnsupportedMediaTypeStatusException
extends
ResponseStatusException
{
private
final
MediaType
contentType
;
private
final
MediaType
contentType
;
...
...
spring-web-reactive/src/main/java/org/springframework/web/server/session/DefaultWebSession.java
浏览文件 @
1022683d
...
@@ -34,6 +34,9 @@ import org.springframework.util.Assert;
...
@@ -34,6 +34,9 @@ import org.springframework.util.Assert;
*/
*/
public
class
DefaultWebSession
implements
ConfigurableWebSession
,
Serializable
{
public
class
DefaultWebSession
implements
ConfigurableWebSession
,
Serializable
{
private
static
final
long
serialVersionUID
=
-
3567697426432961630L
;
private
final
String
id
;
private
final
String
id
;
private
final
Map
<
String
,
Object
>
attributes
;
private
final
Map
<
String
,
Object
>
attributes
;
...
...
spring-web-reactive/src/test/java/org/springframework/http/codec/xml/Jaxb2DecoderTests.java
浏览文件 @
1022683d
...
@@ -274,5 +274,11 @@ public class Jaxb2DecoderTests extends AbstractDataBufferAllocatingTestCase {
...
@@ -274,5 +274,11 @@ public class Jaxb2DecoderTests extends AbstractDataBufferAllocatingTestCase {
return
false
;
return
false
;
}
}
@Override
public
int
hashCode
()
{
int
result
=
this
.
foo
.
hashCode
();
result
=
31
*
result
+
this
.
bar
.
hashCode
();
return
result
;
}
}
}
}
}
spring-web-reactive/src/test/java/org/springframework/http/server/reactive/ServerHttpRequestTests.java
浏览文件 @
1022683d
...
@@ -23,7 +23,7 @@ import javax.servlet.http.HttpServletRequest;
...
@@ -23,7 +23,7 @@ import javax.servlet.http.HttpServletRequest;
import
org.junit.Test
;
import
org.junit.Test
;
import
org.springframework.core.io.buffer.DefaultDataBufferFactory
;
import
org.springframework.core.io.buffer.DefaultDataBufferFactory
;
import
org.springframework.mock.web.MockHttpServletRequest
;
import
org.springframework.mock.web.
test.
MockHttpServletRequest
;
import
org.springframework.util.MultiValueMap
;
import
org.springframework.util.MultiValueMap
;
import
static
org
.
junit
.
Assert
.
assertEquals
;
import
static
org
.
junit
.
Assert
.
assertEquals
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录