Skip to content

Commit 599899d

Browse files
committed
Reorganised code.
1 parent ecb62e7 commit 599899d

File tree

7 files changed

+60
-45
lines changed

7 files changed

+60
-45
lines changed

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ dev-image-controller:
7070

7171
dev: dev-image-controller
7272
cd java-components && mvn clean install -Dlocal -DskipTests -Ddev
73-
cd domain-proxy && go build -o domain-proxy-server domain_proxy_server.go common.go && go build -o domain-proxy-client domain_proxy_client.go common.go
73+
cd domain-proxy && go build -o domain-proxy-server github.com/redhat-appstudio/jvm-build-service/domain-proxy/cmd/server && go build -o domain-proxy-client github.com/redhat-appstudio/jvm-build-service/domain-proxy/cmd/client
7474
docker build . -f domain-proxy/Dockerfile.local -t quay.io/$(QUAY_USERNAME)/hacbs-jvm-domain-proxy:"$${JBS_QUAY_IMAGE_TAG:-dev}"
7575
docker push quay.io/$(QUAY_USERNAME)/hacbs-jvm-domain-proxy:"$${JBS_QUAY_IMAGE_TAG:-dev}"
7676

domain-proxy/Dockerfile.all-in-one

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@ USER 0
33
WORKDIR /work
44
COPY ./ .
55

6-
RUN go build -o domain-proxy-server domain_proxy_server.go common.go
7-
RUN go build -o domain-proxy-client domain_proxy_client.go common.go
6+
RUN go build -o domain-proxy-server github.com/redhat-appstudio/jvm-build-service/domain-proxy/cmd/server
7+
RUN go build -o domain-proxy-client github.com/redhat-appstudio/jvm-build-service/domain-proxy/cmd/client
88

99
FROM quay.io/konflux-ci/buildah-task:latest@sha256:5cbd487022fb7ac476cbfdea25513b810f7e343ec48f89dc6a4e8c3c39fa37a2
1010
USER 0

domain-proxy/cmd/client/main.go

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
package main
2+
3+
import (
4+
. "github.com/redhat-appstudio/jvm-build-service/domain-proxy/pkg/client"
5+
. "github.com/redhat-appstudio/jvm-build-service/domain-proxy/pkg/common"
6+
"os"
7+
"os/signal"
8+
"syscall"
9+
)
10+
11+
func main() {
12+
InitLogger("Domain Proxy Client")
13+
client := NewDomainProxyClient(GetDomainSocket(), GetServerHttpPort(), GetByteBufferSize(), GetConnectionTimeout(), GetIdleTimeout())
14+
client.Start()
15+
signals := make(chan os.Signal, 1)
16+
signal.Notify(signals, syscall.SIGINT, syscall.SIGTERM)
17+
<-signals
18+
client.Stop()
19+
}

domain-proxy/cmd/server/main.go

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
package main
2+
3+
import (
4+
. "github.com/redhat-appstudio/jvm-build-service/domain-proxy/pkg/common"
5+
. "github.com/redhat-appstudio/jvm-build-service/domain-proxy/pkg/server"
6+
"os"
7+
"os/signal"
8+
"syscall"
9+
)
10+
11+
func main() {
12+
InitLogger("Domain Proxy Server")
13+
server := NewDomainProxyServer(GetDomainSocket(),
14+
GetByteBufferSize(),
15+
GetConnectionTimeout(),
16+
GetIdleTimeout(),
17+
GetCsvEnvVariable(ProxyTargetWhitelistKey, DefaultProxyTargetWhitelist),
18+
GetCsvEnvVariable(InternalNonProxyHostsKey, DefaultInternalNonProxyHosts), // TODO Implement Non-proxy logic
19+
)
20+
server.Start()
21+
signals := make(chan os.Signal, 1)
22+
signal.Notify(signals, syscall.SIGINT, syscall.SIGTERM)
23+
<-signals
24+
server.Stop()
25+
}

domain-proxy/domain_proxy_client.go renamed to domain-proxy/pkg/client/client.go

Lines changed: 2 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,10 @@
1-
package main
1+
package client
22

33
import (
44
"fmt"
5+
. "github.com/redhat-appstudio/jvm-build-service/domain-proxy/pkg/common"
56
"net"
6-
"os"
7-
"os/signal"
87
"sync/atomic"
9-
"syscall"
108
"time"
119
)
1210

@@ -94,13 +92,3 @@ func (dpc *DomainProxyClient) Stop() {
9492
func GetServerHttpPort() int {
9593
return GetIntEnvVariable(ServerHttpPortKey, DefaultServerHttpPort)
9694
}
97-
98-
func main() {
99-
InitLogger("Domain Proxy Client")
100-
client := NewDomainProxyClient(GetDomainSocket(), GetServerHttpPort(), GetByteBufferSize(), GetConnectionTimeout(), GetIdleTimeout())
101-
client.Start()
102-
signals := make(chan os.Signal, 1)
103-
signal.Notify(signals, syscall.SIGINT, syscall.SIGTERM)
104-
<-signals
105-
client.Stop()
106-
}

domain-proxy/common.go renamed to domain-proxy/pkg/common/common.go

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package main
1+
package common
22

33
import (
44
"errors"
@@ -32,11 +32,11 @@ func BiDirectionalTransfer(leftConnection, rightConnection net.Conn, byteBufferS
3232
defer CloseConnection(leftConnection, rightConnection, connectionType, connectionNo)
3333
done := make(chan struct{}, 2)
3434
if err := leftConnection.SetDeadline(time.Now().Add(idleTimeout)); err != nil {
35-
handleSetDeadlineError(leftConnection, err)
35+
HandleSetDeadlineError(leftConnection, err)
3636
return
3737
}
3838
if err := rightConnection.SetDeadline(time.Now().Add(idleTimeout)); err != nil {
39-
handleSetDeadlineError(rightConnection, err)
39+
HandleSetDeadlineError(rightConnection, err)
4040
return
4141
}
4242
go Transfer(leftConnection, rightConnection, done, byteBufferSize, idleTimeout, connectionType, connectionNo)
@@ -56,19 +56,19 @@ func Transfer(sourceConnection, targetConnection net.Conn, done chan struct{}, b
5656
return
5757
} else if n > 0 {
5858
if err = sourceConnection.SetReadDeadline(time.Now().Add(idleTimeout)); err != nil {
59-
handleSetDeadlineError(sourceConnection, err)
59+
HandleSetDeadlineError(sourceConnection, err)
6060
return
6161
}
6262
if err = targetConnection.SetWriteDeadline(time.Now().Add(idleTimeout)); err != nil {
63-
handleSetDeadlineError(targetConnection, err)
63+
HandleSetDeadlineError(targetConnection, err)
6464
return
6565
}
6666
Logger.Printf("%d bytes transferred for %s connection %d", n, connectionType, connectionNo)
6767
}
6868
}
6969
}
7070

71-
func handleSetDeadlineError(connection net.Conn, err error) {
71+
func HandleSetDeadlineError(connection net.Conn, err error) {
7272
Logger.Printf("Failed to set deadline: %v", err)
7373
if err = connection.Close(); err != nil {
7474
HandleConnectionCloseError(err)

domain-proxy/domain_proxy_server.go renamed to domain-proxy/pkg/server/server.go

Lines changed: 5 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,23 @@
1-
package main
1+
package server
22

33
import (
44
"bufio"
55
"fmt"
6+
. "github.com/redhat-appstudio/jvm-build-service/domain-proxy/pkg/common"
67
"net"
78
"net/http"
89
"os"
9-
"os/signal"
1010
"strconv"
1111
"strings"
1212
"sync/atomic"
13-
"syscall"
1413
"time"
1514
)
1615

1716
const (
1817
HttpPort = 80
1918
HttpsPort = 443
2019
ProxyTargetWhitelistKey = "PROXY_TARGET_WHITELIST"
21-
DefaultProxyTargetWhitelist = "repo.maven.apache.org,repository.jboss.org,packages.confluent.io,jitpack.io,repo.gradle.org,plugins.gradle.org"
20+
DefaultProxyTargetWhitelist = "gariscus.com,neverssl.com,repo1.maven.org,repo.maven.apache.org,repository.jboss.org,packages.confluent.io,jitpack.io,repo.gradle.org,plugins.gradle.org"
2221
InternalNonProxyHostsKey = "INTERNAL_NON_PROXY_HOSTS"
2322
DefaultInternalNonProxyHosts = "localhost"
2423
DomainSocketToHttp = "Domain Socket <-> HTTP"
@@ -83,7 +82,7 @@ func (dps *DomainProxyServer) startServer() {
8382

8483
func (dps *DomainProxyServer) handleConnectionRequest(domainConnection net.Conn) {
8584
if err := domainConnection.SetDeadline(time.Now().Add(dps.idleTimeout)); err != nil {
86-
handleSetDeadlineError(domainConnection, err)
85+
HandleSetDeadlineError(domainConnection, err)
8786
return
8887
}
8988
reader := bufio.NewReader(domainConnection)
@@ -97,7 +96,7 @@ func (dps *DomainProxyServer) handleConnectionRequest(domainConnection net.Conn)
9796
}
9897
writer := &responseWriter{connection: domainConnection}
9998
if err = domainConnection.SetDeadline(time.Now().Add(dps.idleTimeout)); err != nil {
100-
handleSetDeadlineError(domainConnection, err)
99+
HandleSetDeadlineError(domainConnection, err)
101100
return
102101
}
103102
if request.Method == http.MethodConnect {
@@ -245,19 +244,3 @@ func (rw *responseWriter) WriteHeader(statusCode int) {
245244
Logger.Printf("Failed to write headers to connection: %v", err)
246245
}
247246
}
248-
249-
func main() {
250-
InitLogger("Domain Proxy Server")
251-
server := NewDomainProxyServer(GetDomainSocket(),
252-
GetByteBufferSize(),
253-
GetConnectionTimeout(),
254-
GetIdleTimeout(),
255-
GetCsvEnvVariable(ProxyTargetWhitelistKey, DefaultProxyTargetWhitelist),
256-
GetCsvEnvVariable(InternalNonProxyHostsKey, DefaultInternalNonProxyHosts), // TODO Implement Non-proxy logic
257-
)
258-
server.Start()
259-
signals := make(chan os.Signal, 1)
260-
signal.Notify(signals, syscall.SIGINT, syscall.SIGTERM)
261-
<-signals
262-
server.Stop()
263-
}

0 commit comments

Comments
 (0)