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
3d2f67f0
Commit
3d2f67f0
authored
Jul 10, 2020
by
Andy Wilkinson
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch '2.3.x'
Closes gh-22304
parents
0f264b68
f18b657f
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
22 additions
and
2 deletions
+22
-2
LocalHttpClientTransport.java
...k/platform/docker/transport/LocalHttpClientTransport.java
+9
-1
RemoteHttpClientTransport.java
.../platform/docker/transport/RemoteHttpClientTransport.java
+4
-1
HttpTransportTests.java
...ildpack/platform/docker/transport/HttpTransportTests.java
+9
-0
No files found.
spring-boot-project/spring-boot-tools/spring-boot-buildpack-platform/src/main/java/org/springframework/boot/buildpack/platform/docker/transport/LocalHttpClientTransport.java
View file @
3d2f67f0
...
...
@@ -50,6 +50,8 @@ import org.springframework.boot.buildpack.platform.system.Environment;
*/
final
class
LocalHttpClientTransport
extends
HttpClientTransport
{
private
static
final
String
UNIX_SOCKET_PREFIX
=
"unix://"
;
private
static
final
String
DOCKER_HOST
=
"DOCKER_HOST"
;
private
static
final
HttpHost
LOCAL_DOCKER_HOST
=
HttpHost
.
create
(
"docker://localhost"
);
...
...
@@ -60,11 +62,17 @@ final class LocalHttpClientTransport extends HttpClientTransport {
static
LocalHttpClientTransport
create
(
Environment
environment
)
{
HttpClientBuilder
builder
=
HttpClients
.
custom
();
builder
.
setConnectionManager
(
new
LocalConnectionManager
(
environment
.
get
(
DOCKER_HOST
)));
builder
.
setConnectionManager
(
new
LocalConnectionManager
(
socketFilePath
(
environment
)));
builder
.
setSchemePortResolver
(
new
LocalSchemePortResolver
());
return
new
LocalHttpClientTransport
(
builder
.
build
());
}
private
static
String
socketFilePath
(
Environment
environment
)
{
String
host
=
environment
.
get
(
DOCKER_HOST
);
return
(
host
!=
null
&&
host
.
startsWith
(
UNIX_SOCKET_PREFIX
))
?
host
.
substring
(
UNIX_SOCKET_PREFIX
.
length
())
:
host
;
}
/**
* {@link HttpClientConnectionManager} for local Docker.
*/
...
...
spring-boot-project/spring-boot-tools/spring-boot-buildpack-platform/src/main/java/org/springframework/boot/buildpack/platform/docker/transport/RemoteHttpClientTransport.java
View file @
3d2f67f0
...
...
@@ -40,6 +40,8 @@ import org.springframework.util.Assert;
*/
final
class
RemoteHttpClientTransport
extends
HttpClientTransport
{
private
static
final
String
UNIX_SOCKET_PREFIX
=
"unix://"
;
private
static
final
String
DOCKER_HOST
=
"DOCKER_HOST"
;
private
static
final
String
DOCKER_TLS_VERIFY
=
"DOCKER_TLS_VERIFY"
;
...
...
@@ -63,8 +65,9 @@ final class RemoteHttpClientTransport extends HttpClientTransport {
}
private
static
boolean
isLocalFileReference
(
String
host
)
{
String
filePath
=
host
.
startsWith
(
UNIX_SOCKET_PREFIX
)
?
host
.
substring
(
UNIX_SOCKET_PREFIX
.
length
())
:
host
;
try
{
return
Files
.
exists
(
Paths
.
get
(
host
));
return
Files
.
exists
(
Paths
.
get
(
filePath
));
}
catch
(
Exception
ex
)
{
return
false
;
...
...
spring-boot-project/spring-boot-tools/spring-boot-buildpack-platform/src/test/java/org/springframework/boot/buildpack/platform/docker/transport/HttpTransportTests.java
View file @
3d2f67f0
...
...
@@ -50,6 +50,15 @@ class HttpTransportTests {
assertThat
(
transport
).
isInstanceOf
(
LocalHttpClientTransport
.
class
);
}
@Test
void
createWhenDockerHostVariableIsUnixSchemePrefixedFileReturnsLocal
(
@TempDir
Path
tempDir
)
throws
IOException
{
String
dummySocketFilePath
=
"unix://"
+
Files
.
createTempFile
(
tempDir
,
"http-transport"
,
null
).
toAbsolutePath
().
toString
();
Map
<
String
,
String
>
environment
=
Collections
.
singletonMap
(
"DOCKER_HOST"
,
dummySocketFilePath
);
HttpTransport
transport
=
HttpTransport
.
create
(
environment:
:
get
);
assertThat
(
transport
).
isInstanceOf
(
LocalHttpClientTransport
.
class
);
}
@Test
void
createWhenDoesNotHaveDockerHostVariableReturnsLocal
()
{
HttpTransport
transport
=
HttpTransport
.
create
((
name
)
->
null
);
...
...
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