@@ -4,12 +4,11 @@ import (
44 "bytes"
55 "context"
66 "encoding/json"
7+ "errors"
78 "fmt"
89 "io"
910 "net/http"
1011 "strings"
11-
12- "github.com/pkg/errors"
1312)
1413
1514// JSONClient is a client for interacting with Solr via JSON API
@@ -43,13 +42,13 @@ func (c *JSONClient) CreateCollection(ctx context.Context, params *CollectionPar
4342 urlStr := fmt .Sprintf ("%s/solr/admin/collections?action=CREATE&" + params .BuildParams (), c .baseURL )
4443 httpResp , err := c .reqSender .SendRequest (ctx , http .MethodGet , urlStr , JSON .String (), nil )
4544 if err != nil {
46- return errors . Wrap (err , "send request" )
45+ return wrapErr (err , "send request" )
4746 }
4847
4948 var resp BaseResponse
5049 err = readResponse (httpResp , & resp )
5150 if err != nil {
52- return errors . Wrap (err , "read response" )
51+ return wrapErr (err , "read response" )
5352 }
5453
5554 return nil
@@ -62,13 +61,13 @@ func (c *JSONClient) DeleteCollection(ctx context.Context, params *CollectionPar
6261 urlStr := fmt .Sprintf ("%s/solr/admin/collections?action=DELETE&" + params .BuildParams (), c .baseURL )
6362 httpResp , err := c .reqSender .SendRequest (ctx , http .MethodGet , urlStr , JSON .String (), nil )
6463 if err != nil {
65- return errors . Wrap (err , "send request" )
64+ return wrapErr (err , "send request" )
6665 }
6766
6867 var resp BaseResponse
6968 err = readResponse (httpResp , & resp )
7069 if err != nil {
71- return errors . Wrap (err , "read response" )
70+ return wrapErr (err , "read response" )
7271 }
7372
7473 return nil
@@ -81,13 +80,13 @@ func (c *JSONClient) CoreStatus(ctx context.Context, params *CoreParams) (*CoreS
8180 urlStr := fmt .Sprintf ("%s/solr/admin/cores?action=STATUS&" + params .BuildParams (), c .baseURL )
8281 httpResp , err := c .reqSender .SendRequest (ctx , http .MethodGet , urlStr , JSON .String (), nil )
8382 if err != nil {
84- return nil , errors . Wrap (err , "send request" )
83+ return nil , wrapErr (err , "send request" )
8584 }
8685
8786 var resp CoreStatusResponse
8887 err = readResponse (httpResp , & resp )
8988 if err != nil {
90- return nil , errors . Wrap (err , "read response" )
89+ return nil , wrapErr (err , "read response" )
9190 }
9291
9392 return & resp , nil
@@ -100,13 +99,13 @@ func (c *JSONClient) CreateCore(ctx context.Context, params *CreateCoreParams) e
10099 urlStr := fmt .Sprintf ("%s/solr/admin/cores?action=CREATE&" + params .BuildParams (), c .baseURL )
101100 httpResp , err := c .reqSender .SendRequest (ctx , http .MethodGet , urlStr , JSON .String (), nil )
102101 if err != nil {
103- return errors . Wrap (err , "send request" )
102+ return wrapErr (err , "send request" )
104103 }
105104
106105 var resp BaseResponse
107106 err = readResponse (httpResp , & resp )
108107 if err != nil {
109- return errors . Wrap (err , "read response" )
108+ return wrapErr (err , "read response" )
110109 }
111110
112111 return nil
@@ -119,13 +118,13 @@ func (c *JSONClient) UnloadCore(ctx context.Context, params *CoreParams) error {
119118 urlStr := fmt .Sprintf ("%s/solr/admin/cores?action=UNLOAD&" + params .BuildParams (), c .baseURL )
120119 httpResp , err := c .reqSender .SendRequest (ctx , http .MethodGet , urlStr , JSON .String (), nil )
121120 if err != nil {
122- return errors . Wrap (err , "send request" )
121+ return wrapErr (err , "send request" )
123122 }
124123
125124 var resp BaseResponse
126125 err = readResponse (httpResp , & resp )
127126 if err != nil {
128- return errors . Wrap (err , "read response" )
127+ return wrapErr (err , "read response" )
129128 }
130129
131130 return nil
@@ -138,19 +137,19 @@ func (c *JSONClient) Query(ctx context.Context, collection string, query *Query)
138137 buf := & bytes.Buffer {}
139138 err := json .NewEncoder (buf ).Encode (query .BuildQuery ())
140139 if err != nil {
141- return nil , errors . Wrap (err , "encode request body" )
140+ return nil , wrapErr (err , "encode request body" )
142141 }
143142
144143 urlStr := fmt .Sprintf ("%s/solr/%s/query" , c .baseURL , collection )
145144 httpResp , err := c .reqSender .SendRequest (ctx , http .MethodPost , urlStr , JSON .String (), buf )
146145 if err != nil {
147- return nil , errors . Wrap (err , "send request" )
146+ return nil , wrapErr (err , "send request" )
148147 }
149148
150149 var resp QueryResponse
151150 err = readResponse (httpResp , & resp )
152151 if err != nil {
153- return nil , errors . Wrap (err , "read response" )
152+ return nil , wrapErr (err , "read response" )
154153 }
155154
156155 return & resp , nil
@@ -163,13 +162,13 @@ func (c *JSONClient) Update(ctx context.Context, collection string, mimeType Mim
163162 urlStr := fmt .Sprintf ("%s/solr/%s/update" , c .baseURL , collection )
164163 httpResp , err := c .reqSender .SendRequest (ctx , http .MethodPost , urlStr , mimeType .String (), body )
165164 if err != nil {
166- return nil , errors . Wrap (err , "send request" )
165+ return nil , wrapErr (err , "send request" )
167166 }
168167
169168 var resp UpdateResponse
170169 err = readResponse (httpResp , & resp )
171170 if err != nil {
172- return nil , errors . Wrap (err , "read response" )
171+ return nil , wrapErr (err , "read response" )
173172 }
174173
175174 return & resp , nil
@@ -180,13 +179,13 @@ func (c *JSONClient) Commit(ctx context.Context, collection string) error {
180179 urlStr := fmt .Sprintf ("%s/solr/%s/update?commit=true" , c .baseURL , collection )
181180 httpResp , err := c .reqSender .SendRequest (ctx , http .MethodGet , urlStr , JSON .String (), nil )
182181 if err != nil {
183- return errors . Wrap (err , "send request" )
182+ return wrapErr (err , "send request" )
184183 }
185184
186185 var resp UpdateResponse
187186 err = readResponse (httpResp , & resp )
188187 if err != nil {
189- return errors . Wrap (err , "read response" )
188+ return wrapErr (err , "read response" )
190189 }
191190
192191 return nil
@@ -278,18 +277,18 @@ func (c *JSONClient) postJSON(ctx context.Context, urlStr string, reqBody interf
278277 buf := & bytes.Buffer {}
279278 err := json .NewEncoder (buf ).Encode (reqBody )
280279 if err != nil {
281- return errors . Wrap (err , "encode request body" )
280+ return wrapErr (err , "encode request body" )
282281 }
283282
284283 httpResp , err := c .reqSender .SendRequest (ctx , http .MethodPost , urlStr , JSON .String (), buf )
285284 if err != nil {
286- return errors . Wrap (err , "send request" )
285+ return wrapErr (err , "send request" )
287286 }
288287
289288 var resp BaseResponse
290289 err = readResponse (httpResp , & resp )
291290 if err != nil {
292- return errors . Wrap (err , "read response" )
291+ return wrapErr (err , "read response" )
293292 }
294293
295294 return nil
@@ -324,7 +323,7 @@ func (c *JSONClient) AddComponents(ctx context.Context, collection string, compo
324323 for _ , comp := range components {
325324 b , err := json .Marshal (comp .BuildComponent ())
326325 if err != nil {
327- return errors . Wrap (err , "marshal component" )
326+ return wrapErr (err , "marshal component" )
328327 }
329328
330329 command := fmt .Sprintf ("%q:%s" , "add-" + comp .ct .String (), string (b ))
@@ -336,13 +335,13 @@ func (c *JSONClient) AddComponents(ctx context.Context, collection string, compo
336335 urlStr := fmt .Sprintf ("%s/solr/%s/config" , c .baseURL , collection )
337336 httpResp , err := c .reqSender .SendRequest (ctx , http .MethodPost , urlStr , JSON .String (), strings .NewReader (reqBody ))
338337 if err != nil {
339- return errors . Wrap (err , "send request" )
338+ return wrapErr (err , "send request" )
340339 }
341340
342341 var resp BaseResponse
343342 err = readResponse (httpResp , & resp )
344343 if err != nil {
345- return errors . Wrap (err , "read response" )
344+ return wrapErr (err , "read response" )
346345 }
347346
348347 return nil
@@ -370,13 +369,13 @@ func (c *JSONClient) Suggest(ctx context.Context, collection string, params *Sug
370369 urlStr := fmt .Sprintf ("%s/solr/%s/%s?%s" , c .baseURL , collection , params .endpoint , params .BuildParams ())
371370 httpResp , err := c .reqSender .SendRequest (ctx , http .MethodGet , urlStr , JSON .String (), nil )
372371 if err != nil {
373- return nil , errors . Wrap (err , "send request" )
372+ return nil , wrapErr (err , "send request" )
374373 }
375374
376375 var resp SuggestResponse
377376 err = readResponse (httpResp , & resp )
378377 if err != nil {
379- return nil , errors . Wrap (err , "read response" )
378+ return nil , wrapErr (err , "read response" )
380379 }
381380
382381 return & resp , nil
@@ -387,15 +386,15 @@ func readResponse(resp *http.Response, v interface{}) error {
387386 if strings .Contains (contentType , "text/html" ) {
388387 b , err := io .ReadAll (resp .Body )
389388 if err != nil {
390- return errors . Wrap (err , "read html response" )
389+ return wrapErr (err , "read html response" )
391390 }
392391
393- return errors .Errorf ("unexpected html response: %s" , string (b ))
392+ return fmt .Errorf ("unexpected html response: %s" , string (b ))
394393 }
395394
396395 err := json .NewDecoder (resp .Body ).Decode (v )
397396 if err != nil {
398- return errors . Wrap (err , "decode json response" )
397+ return wrapErr (err , "decode json response" )
399398 }
400399
401400 val , ok := v .(* BaseResponse )
0 commit comments