@@ -2,21 +2,19 @@ package haproxymanager
22
33import (
44 "bytes"
5+ "context"
56 "errors"
67 "io"
78 "mime/multipart"
9+ "net"
810 "net/http"
911 "path/filepath"
10- "strconv"
1112 "strings"
1213)
1314
1415// Generate Base URI for HAProxy Server
1516func (s Manager ) URI () string {
16- if s .isUnix {
17- return "unix://" + s .unixSocketPath
18- }
19- return "http://" + s .Host + ":" + strconv .Itoa (s .Port ) + "/v2"
17+ return "http://unix/v2"
2018}
2119
2220// Wrapper to send request to HAProxy Server
@@ -30,7 +28,13 @@ func (s Manager) getRequest(route string, queryParams QueryParameters) (*http.Re
3028 return nil , err
3129 }
3230 req .SetBasicAuth (s .username , s .password )
33- client := & http.Client {}
31+ client := & http.Client {
32+ Transport : & http.Transport {
33+ DialContext : func (_ context.Context , _ , _ string ) (net.Conn , error ) {
34+ return net .Dial ("unix" , s .unixSocketPath )
35+ },
36+ },
37+ }
3438 return client .Do (req )
3539}
3640
@@ -45,7 +49,13 @@ func (s Manager) deleteRequest(route string, queryParams QueryParameters) (*http
4549 return nil , err
4650 }
4751 req .SetBasicAuth (s .username , s .password )
48- client := & http.Client {}
52+ client := & http.Client {
53+ Transport : & http.Transport {
54+ DialContext : func (_ context.Context , _ , _ string ) (net.Conn , error ) {
55+ return net .Dial ("unix" , s .unixSocketPath )
56+ },
57+ },
58+ }
4959 return client .Do (req )
5060}
5161
@@ -61,7 +71,13 @@ func (s Manager) postRequest(route string, queryParams QueryParameters, body io.
6171 }
6272 req .SetBasicAuth (s .username , s .password )
6373 req .Header .Add ("Content-Type" , "application/json" )
64- client := & http.Client {}
74+ client := & http.Client {
75+ Transport : & http.Transport {
76+ DialContext : func (_ context.Context , _ , _ string ) (net.Conn , error ) {
77+ return net .Dial ("unix" , s .unixSocketPath )
78+ },
79+ },
80+ }
6581 return client .Do (req )
6682}
6783
@@ -77,7 +93,13 @@ func (s Manager) putRequest(route string, queryParams QueryParameters, body io.R
7793 }
7894 req .SetBasicAuth (s .username , s .password )
7995 req .Header .Add ("Content-Type" , "application/json" )
80- client := & http.Client {}
96+ client := & http.Client {
97+ Transport : & http.Transport {
98+ DialContext : func (_ context.Context , _ , _ string ) (net.Conn , error ) {
99+ return net .Dial ("unix" , s .unixSocketPath )
100+ },
101+ },
102+ }
81103 return client .Do (req )
82104}
83105
@@ -113,7 +135,13 @@ func (s Manager) uploadSSL(route string, domain string, file io.Reader) (*http.R
113135 }
114136 req .SetBasicAuth (s .username , s .password )
115137 req .Header .Add ("Content-Type" , writer .FormDataContentType ())
116- client := & http.Client {}
138+ client := & http.Client {
139+ Transport : & http.Transport {
140+ DialContext : func (_ context.Context , _ , _ string ) (net.Conn , error ) {
141+ return net .Dial ("unix" , s .unixSocketPath )
142+ },
143+ },
144+ }
117145 return client .Do (req )
118146}
119147
@@ -138,6 +166,12 @@ func (s Manager) replaceSSL(route string, domain string, file io.Reader) (*http.
138166 }
139167 req .SetBasicAuth (s .username , s .password )
140168 req .Header .Add ("Content-Type" , "text/plain" )
141- client := & http.Client {}
169+ client := & http.Client {
170+ Transport : & http.Transport {
171+ DialContext : func (_ context.Context , _ , _ string ) (net.Conn , error ) {
172+ return net .Dial ("unix" , s .unixSocketPath )
173+ },
174+ },
175+ }
142176 return client .Do (req )
143177}
0 commit comments