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
ada0741e
Commit
ada0741e
authored
Feb 27, 2020
by
Scott Frederick
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Polish Docker client exception handling
parent
6f095d6f
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
10 additions
and
12 deletions
+10
-12
HttpClientHttp.java
...mework/boot/buildpack/platform/docker/HttpClientHttp.java
+4
-8
HttpClientHttpTests.java
...k/boot/buildpack/platform/docker/HttpClientHttpTests.java
+6
-4
No files found.
spring-boot-project/spring-boot-tools/spring-boot-buildpack-platform/src/main/java/org/springframework/boot/buildpack/platform/docker/HttpClientHttp.java
View file @
ada0741e
...
...
@@ -48,6 +48,7 @@ import org.springframework.boot.buildpack.platform.json.SharedObjectMapper;
*
* @author Phillip Webb
* @author Mike Smithson
* @author Scott Frederick
*/
class
HttpClientHttp
implements
Http
{
...
...
@@ -129,9 +130,8 @@ class HttpClientHttp implements Http {
}
private
Response
execute
(
HttpUriRequest
request
)
{
CloseableHttpResponse
response
;
try
{
response
=
this
.
client
.
execute
(
request
);
CloseableHttpResponse
response
=
this
.
client
.
execute
(
request
);
StatusLine
statusLine
=
response
.
getStatusLine
();
int
statusCode
=
statusLine
.
getStatusCode
();
HttpEntity
entity
=
response
.
getEntity
();
...
...
@@ -143,15 +143,11 @@ class HttpClientHttp implements Http {
if
(
statusCode
==
500
)
{
throw
new
DockerException
(
request
.
getURI
(),
statusCode
,
statusLine
.
getReasonPhrase
(),
null
);
}
return
new
HttpClientResponse
(
response
);
}
catch
(
IOException
ioe
)
{
StringWriter
stringWriter
=
new
StringWriter
();
PrintWriter
printWriter
=
new
PrintWriter
(
stringWriter
);
ioe
.
printStackTrace
(
printWriter
);
throw
new
DockerException
(
request
.
getURI
(),
500
,
stringWriter
.
toString
(),
null
);
throw
new
DockerException
(
request
.
getURI
(),
500
,
ioe
.
getMessage
(),
null
);
}
return
new
HttpClientResponse
(
response
);
}
/**
...
...
spring-boot-project/spring-boot-tools/spring-boot-buildpack-platform/src/test/java/org/springframework/boot/buildpack/platform/docker/HttpClientHttpTests.java
View file @
ada0741e
...
...
@@ -54,6 +54,7 @@ import static org.mockito.Mockito.verify;
*
* @author Phillip Webb
* @author Mike Smithson
* @author Scott Frederick
*/
class
HttpClientHttpTests
{
...
...
@@ -186,11 +187,12 @@ class HttpClientHttpTests {
}
@Test
void
executeWhenClient
ExecutesRequest
ThrowsIOExceptionRethrowsAsDockerException
()
throws
IOException
{
given
(
this
.
client
.
execute
(
any
())).
willThrow
(
IOException
.
class
);
void
executeWhenClientThrowsIOExceptionRethrowsAsDockerException
()
throws
IOException
{
given
(
this
.
client
.
execute
(
any
())).
willThrow
(
new
IOException
(
"test IO exception"
)
);
assertThatExceptionOfType
(
DockerException
.
class
).
isThrownBy
(()
->
this
.
http
.
get
(
this
.
uri
))
.
satisfies
((
ex
)
->
assertThat
(
ex
.
getErrors
()).
isNull
()).
satisfies
(
DockerException:
:
getStatusCode
)
.
withMessageContaining
(
"500"
).
satisfies
((
ex
)
->
assertThat
(
ex
.
getReasonPhrase
())).
isNotNull
();
.
satisfies
((
ex
)
->
assertThat
(
ex
.
getErrors
()).
isNull
())
.
satisfies
(
DockerException:
:
getStatusCode
).
withMessageContaining
(
"500"
)
.
satisfies
((
ex
)
->
assertThat
(
ex
.
getReasonPhrase
()).
contains
(
"test IO exception"
));
}
private
String
writeToString
(
HttpEntity
entity
)
throws
IOException
{
...
...
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