Skip to content

Commit ea9df07

Browse files
committed
improve: append base url
1 parent 19f8024 commit ea9df07

File tree

2 files changed

+21
-29
lines changed

2 files changed

+21
-29
lines changed

callx.go

+4-12
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ package callx
33
import (
44
"crypto/tls"
55
"encoding/json"
6-
"fmt"
76
"io"
87
"net/http"
98
"net/url"
@@ -110,22 +109,15 @@ func (n *callxMethod) AddInterceptor(intercept ...Interceptor) {
110109
func (n *callxMethod) request(urlStr string, method string, header Header, payload io.Reader) Response {
111110
resNotFound := Response{Code: http.StatusNotFound}
112111

113-
var err error
114-
var u *url.URL
115-
endpoint := ""
116-
if !isURL(urlStr) && n.Config.BaseURL != "" {
117-
if _, err = url.Parse(n.Config.BaseURL); err == nil {
118-
endpoint = fmt.Sprintf("%s%s", n.Config.BaseURL, urlStr)
119-
}
120-
} else if u, err = url.Parse(urlStr); err == nil {
121-
endpoint = u.String()
112+
if n.Config.BaseURL != "" {
113+
urlStr = n.Config.BaseURL + urlStr
122114
}
123-
115+
endpointURL, err := url.Parse(urlStr)
124116
if err != nil {
125117
return resNotFound
126118
}
127119

128-
req, err := http.NewRequest(method, endpoint, payload)
120+
req, err := http.NewRequest(method, endpointURL.String(), payload)
129121
if err != nil {
130122
return resNotFound
131123
}

callx_test.go

+17-17
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import (
1212

1313
func Test_Get(t *testing.T) {
1414
ts := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
15-
fmt.Fprintln(w, "Hello, Get")
15+
_, _ = fmt.Fprintln(w, "Hello, Get")
1616
}))
1717
defer ts.Close()
1818

@@ -33,7 +33,7 @@ func Test_Get(t *testing.T) {
3333

3434
func Test_PostBodyNil(t *testing.T) {
3535
ts := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
36-
fmt.Fprintln(w, "Hello, Post")
36+
_, _ = fmt.Fprintln(w, "Hello, Post")
3737
}))
3838
defer ts.Close()
3939

@@ -50,7 +50,7 @@ func Test_PostBodyNil(t *testing.T) {
5050

5151
func Test_PostBodyError(t *testing.T) {
5252
ts := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
53-
fmt.Fprintln(w, "Hello, Post")
53+
_, _ = fmt.Fprintln(w, "Hello, Post")
5454
}))
5555
defer ts.Close()
5656

@@ -84,7 +84,7 @@ func Test_PostServerNotFound(t *testing.T) {
8484

8585
func Test_Post(t *testing.T) {
8686
ts := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
87-
fmt.Fprintln(w, "Hello, Post")
87+
_, _ = fmt.Fprintln(w, "Hello, Post")
8888
}))
8989
defer ts.Close()
9090

@@ -103,7 +103,7 @@ func Test_Post(t *testing.T) {
103103

104104
func Test_Post_List(t *testing.T) {
105105
ts := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
106-
fmt.Fprintln(w, "Hello, Post")
106+
_, _ = fmt.Fprintln(w, "Hello, Post")
107107
}))
108108
defer ts.Close()
109109

@@ -122,7 +122,7 @@ func Test_Post_List(t *testing.T) {
122122

123123
func Test_Put(t *testing.T) {
124124
ts := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
125-
fmt.Fprintln(w, "Hello, Put")
125+
_, _ = fmt.Fprintln(w, "Hello, Put")
126126
}))
127127
defer ts.Close()
128128

@@ -141,7 +141,7 @@ func Test_Put(t *testing.T) {
141141

142142
func Test_Patch(t *testing.T) {
143143
ts := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
144-
fmt.Fprintln(w, "Hello, Patch")
144+
_, _ = fmt.Fprintln(w, "Hello, Patch")
145145
}))
146146
defer ts.Close()
147147

@@ -160,7 +160,7 @@ func Test_Patch(t *testing.T) {
160160

161161
func Test_Delete(t *testing.T) {
162162
ts := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
163-
fmt.Fprintln(w, "Hello, Delete")
163+
_, _ = fmt.Fprintln(w, "Hello, Delete")
164164
}))
165165
defer ts.Close()
166166

@@ -178,7 +178,7 @@ func Test_Delete(t *testing.T) {
178178

179179
func Test_Req(t *testing.T) {
180180
ts := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
181-
fmt.Fprintln(w, "Hello, Req Post")
181+
_, _ = fmt.Fprintln(w, "Hello, Req Post")
182182
}))
183183
defer ts.Close()
184184

@@ -213,7 +213,7 @@ func Test_Req(t *testing.T) {
213213

214214
func Test_ReqEncoded(t *testing.T) {
215215
ts := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
216-
fmt.Fprintln(w, "Hello, Req Post")
216+
_, _ = fmt.Fprintln(w, "Hello, Req Post")
217217
}))
218218
defer ts.Close()
219219

@@ -242,7 +242,7 @@ func Test_ReqEncoded(t *testing.T) {
242242

243243
func Test_ReqMethodNotFound(t *testing.T) {
244244
ts := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
245-
fmt.Fprintln(w, "Hello, Post")
245+
_, _ = fmt.Fprintln(w, "Hello, Post")
246246
}))
247247
defer ts.Close()
248248

@@ -262,7 +262,7 @@ func Test_ReqMethodNotFound(t *testing.T) {
262262

263263
func Benchmark_CallXRequests(b *testing.B) {
264264
ts := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
265-
fmt.Fprintln(w, "Hello, World")
265+
_, _ = fmt.Fprintln(w, "Hello, World")
266266
}))
267267
defer ts.Close()
268268

@@ -279,31 +279,31 @@ func Benchmark_CallXRequests(b *testing.B) {
279279

280280
b.Run("GET", func(b *testing.B) {
281281
for i := 0; i < b.N; i++ {
282-
_ = req.Get("/todos/1")
282+
_ = req.Get("/todos/1?id=1")
283283
}
284284
})
285285

286286
b.Run("POST", func(b *testing.B) {
287287
for i := 0; i < b.N; i++ {
288-
_ = req.Post("/todos", nil)
288+
_ = req.Post("/todos?id=1", nil)
289289
}
290290
})
291291

292292
b.Run("PUT", func(b *testing.B) {
293293
for i := 0; i < b.N; i++ {
294-
_ = req.Put("/todos/1", nil)
294+
_ = req.Put("/todos/1?id=1", nil)
295295
}
296296
})
297297

298298
b.Run("PATCH", func(b *testing.B) {
299299
for i := 0; i < b.N; i++ {
300-
_ = req.Patch("/todos/1", nil)
300+
_ = req.Patch("/todos/1?id=1", nil)
301301
}
302302
})
303303

304304
b.Run("DELETE", func(b *testing.B) {
305305
for i := 0; i < b.N; i++ {
306-
_ = req.Delete("/todos/1")
306+
_ = req.Delete("/todos/1?id=1")
307307
}
308308
})
309309
}

0 commit comments

Comments
 (0)