@@ -10,6 +10,7 @@ import (
1010 "io"
1111 "net"
1212 "net/http"
13+ "net/url"
1314 "sync/atomic"
1415 "time"
1516
@@ -111,8 +112,11 @@ func (c *Client) Enroll(ctx context.Context, logger logrus.FieldLogger, code str
111112 if err != nil {
112113 return nil , nil , nil , nil , err
113114 }
114-
115- req , err := http .NewRequestWithContext (ctx , "POST" , c .dnServer + message .EnrollEndpoint , bytes .NewBuffer (jv ))
115+ enrollURL , err := url .JoinPath (c .dnServer , message .EnrollEndpoint )
116+ if err != nil {
117+ return nil , nil , nil , nil , err
118+ }
119+ req , err := http .NewRequestWithContext (ctx , "POST" , enrollURL , bytes .NewBuffer (jv ))
116120 if err != nil {
117121 return nil , nil , nil , nil , err
118122 }
@@ -315,7 +319,11 @@ func (c *Client) streamingPostDNClient(ctx context.Context, reqType string, valu
315319 }
316320 pbb := bytes .NewBuffer (postBody )
317321
318- req , err := http .NewRequestWithContext (ctx , "POST" , c .dnServer + message .EndpointV1 , io .MultiReader (pbb , pr ))
322+ endpointV1URL , err := url .JoinPath (c .dnServer , message .EndpointV1 )
323+ if err != nil {
324+ return nil , err
325+ }
326+ req , err := http .NewRequestWithContext (ctx , "POST" , endpointV1URL , io .MultiReader (pbb , pr ))
319327 if err != nil {
320328 return nil , err
321329 }
@@ -365,7 +373,11 @@ func (c *Client) postDNClient(ctx context.Context, reqType string, value []byte,
365373 return nil , err
366374 }
367375
368- req , err := http .NewRequestWithContext (ctx , "POST" , c .dnServer + message .EndpointV1 , bytes .NewReader (postBody ))
376+ endpointV1URL , err := url .JoinPath (c .dnServer , message .EndpointV1 )
377+ if err != nil {
378+ return nil , err
379+ }
380+ req , err := http .NewRequestWithContext (ctx , "POST" , endpointV1URL , bytes .NewReader (postBody ))
369381 if err != nil {
370382 return nil , err
371383 }
0 commit comments