Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in / Register
Toggle navigation
S
spring-boot
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
DEMO
spring-boot
Commits
abe95fa8
Commit
abe95fa8
authored
Jan 10, 2020
by
Madhura Bhave
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch '2.2.x'
Closes gh-19600
parents
ed4261a6
7f0573df
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
21 additions
and
3 deletions
+21
-3
WebFluxTags.java
...boot/actuate/metrics/web/reactive/server/WebFluxTags.java
+5
-2
WebFluxTagsTests.java
...actuate/metrics/web/reactive/server/WebFluxTagsTests.java
+16
-1
No files found.
spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/metrics/web/reactive/server/WebFluxTags.java
View file @
abe95fa8
...
...
@@ -136,14 +136,17 @@ public final class WebFluxTags {
*/
public
static
Tag
outcome
(
ServerWebExchange
exchange
)
{
Integer
statusCode
=
extractStatusCode
(
exchange
);
Outcome
outcome
=
(
statusCode
!=
null
)
?
Outcome
.
forStatus
(
statusCode
)
:
Outcome
.
UNKNOWN
;
Outcome
outcome
=
(
statusCode
!=
null
)
?
Outcome
.
forStatus
(
statusCode
)
:
Outcome
.
SUCCESS
;
return
outcome
.
asTag
();
}
private
static
Integer
extractStatusCode
(
ServerWebExchange
exchange
)
{
ServerHttpResponse
response
=
exchange
.
getResponse
();
if
(
response
instanceof
AbstractServerHttpResponse
)
{
return
((
AbstractServerHttpResponse
)
response
).
getStatusCodeValue
();
Integer
statusCode
=
((
AbstractServerHttpResponse
)
response
).
getStatusCodeValue
();
if
(
statusCode
!=
null
)
{
return
statusCode
;
}
}
HttpStatus
status
=
response
.
getStatusCode
();
return
(
status
!=
null
)
?
status
.
value
()
:
null
;
...
...
spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/metrics/web/reactive/server/WebFluxTagsTests.java
View file @
abe95fa8
...
...
@@ -21,6 +21,7 @@ import org.junit.jupiter.api.BeforeEach;
import
org.junit.jupiter.api.Test
;
import
org.springframework.http.HttpStatus
;
import
org.springframework.http.server.reactive.AbstractServerHttpResponse
;
import
org.springframework.http.server.reactive.ServerHttpRequest
;
import
org.springframework.mock.http.server.reactive.MockServerHttpRequest
;
import
org.springframework.mock.web.server.MockServerWebExchange
;
...
...
@@ -37,6 +38,7 @@ import static org.mockito.Mockito.mock;
*
* @author Brian Clozel
* @author Michael McFadyen
* @author Madhura Bhave
*/
class
WebFluxTagsTests
{
...
...
@@ -114,7 +116,20 @@ class WebFluxTagsTests {
void
outcomeTagIsUnknownWhenResponseStatusIsNull
()
{
this
.
exchange
.
getResponse
().
setStatusCode
(
null
);
Tag
tag
=
WebFluxTags
.
outcome
(
this
.
exchange
);
assertThat
(
tag
.
getValue
()).
isEqualTo
(
"UNKNOWN"
);
assertThat
(
tag
.
getValue
()).
isEqualTo
(
"SUCCESS"
);
}
@Test
void
outcomeTagIsSuccessWhenResponseStatusIsAvailableFromUnderlyingServer
()
{
ServerWebExchange
exchange
=
mock
(
ServerWebExchange
.
class
);
ServerHttpRequest
request
=
mock
(
ServerHttpRequest
.
class
);
AbstractServerHttpResponse
response
=
mock
(
AbstractServerHttpResponse
.
class
);
given
(
response
.
getStatusCode
()).
willReturn
(
HttpStatus
.
OK
);
given
(
response
.
getStatusCodeValue
()).
willReturn
(
null
);
given
(
exchange
.
getRequest
()).
willReturn
(
request
);
given
(
exchange
.
getResponse
()).
willReturn
(
response
);
Tag
tag
=
WebFluxTags
.
outcome
(
exchange
);
assertThat
(
tag
.
getValue
()).
isEqualTo
(
"SUCCESS"
);
}
@Test
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment