@@ -2,6 +2,7 @@ package api
22
33import (
44 "bytes"
5+ "crypto/tls"
56 "encoding/json"
67 "fmt"
78 "io"
@@ -20,10 +21,13 @@ const (
2021)
2122
2223func (c * client ) GetEvaluation (req * model.GetEvaluationRequest ) (* model.GetEvaluationResponse , int , error ) {
23- url := fmt .Sprintf ("https://%s%s" ,
24+ url := fmt .Sprintf (
25+ "%s://%s%s" ,
26+ c .scheme ,
2427 c .host ,
2528 evaluationAPI ,
2629 )
30+
2731 resp , size , err := c .sendHTTPRequest (
2832 url ,
2933 req ,
@@ -39,7 +43,9 @@ func (c *client) GetEvaluation(req *model.GetEvaluationRequest) (*model.GetEvalu
3943}
4044
4145func (c * client ) RegisterEvents (req * model.RegisterEventsRequest ) (* model.RegisterEventsResponse , int , error ) {
42- url := fmt .Sprintf ("https://%s%s" ,
46+ url := fmt .Sprintf (
47+ "%s://%s%s" ,
48+ c .scheme ,
4349 c .host ,
4450 registerEventAPI ,
4551 )
@@ -58,7 +64,9 @@ func (c *client) RegisterEvents(req *model.RegisterEventsRequest) (*model.Regist
5864}
5965
6066func (c * client ) GetFeatureFlags (req * model.GetFeatureFlagsRequest ) (* model.GetFeatureFlagsResponse , int , error ) {
61- url := fmt .Sprintf ("https://%s%s" ,
67+ url := fmt .Sprintf (
68+ "%s://%s%s" ,
69+ c .scheme ,
6270 c .host ,
6371 featureFlagsAPI ,
6472 )
@@ -77,7 +85,9 @@ func (c *client) GetFeatureFlags(req *model.GetFeatureFlagsRequest) (*model.GetF
7785}
7886
7987func (c * client ) GetSegmentUsers (req * model.GetSegmentUsersRequest ) (* model.GetSegmentUsersResponse , int , error ) {
80- url := fmt .Sprintf ("https://%s%s" ,
88+ url := fmt .Sprintf (
89+ "%s://%s%s" ,
90+ c .scheme ,
8191 c .host ,
8292 segmentUsersAPI ,
8393 )
@@ -95,7 +105,7 @@ func (c *client) GetSegmentUsers(req *model.GetSegmentUsersRequest) (*model.GetS
95105 return & gfr , size , nil
96106}
97107
98- func (c * client ) sendHTTPRequest (url string , body interface {} ) ([]byte , int , error ) {
108+ func (c * client ) sendHTTPRequest (url string , body any ) ([]byte , int , error ) {
99109 encoded , err := json .Marshal (body )
100110 if err != nil {
101111 return nil , 0 , err
@@ -109,6 +119,13 @@ func (c *client) sendHTTPRequest(url string, body interface{}) ([]byte, int, err
109119 client := & http.Client {
110120 Timeout : 60 * time .Second ,
111121 }
122+ if c .scheme == "http" {
123+ client .Transport = & http.Transport {
124+ // This setting is for developing on local machines.
125+ // In production, it's not recommended to specify c.scheme as "http".
126+ TLSClientConfig : & tls.Config {InsecureSkipVerify : true }, //nolint:gosec
127+ }
128+ }
112129 resp , err := client .Do (req )
113130 if err != nil {
114131 return nil , 0 , err
0 commit comments