9
9
"io"
10
10
"net/http"
11
11
"net/http/httputil"
12
+ "net/url"
12
13
"runtime"
13
14
"strconv"
14
15
"time"
@@ -72,14 +73,15 @@ func (c *Client) Test(ctx context.Context) error {
72
73
}
73
74
74
75
func (c * Client ) GetFilters (ctx context.Context ) ([]Filter , error ) {
75
- req , err := http . NewRequestWithContext ( ctx , http . MethodGet , c .Host + "/api/filters" , nil )
76
+ reqUrl , err := url . JoinPath ( c .Host , "/api/filters" )
76
77
if err != nil {
77
78
return nil , err
78
79
}
79
80
80
- req .SetBasicAuth (c .BasicUser , c .BasicPass )
81
- req .Header .Add ("X-API-Token" , c .APIKey )
82
- c .buildUserAgent (req )
81
+ req , err := c .newRequest (ctx , http .MethodGet , reqUrl , nil )
82
+ if err != nil {
83
+ return nil , err
84
+ }
83
85
84
86
res , err := c .client .Do (req )
85
87
if err != nil {
@@ -112,14 +114,15 @@ func (c *Client) UpdateFilterByID(ctx context.Context, filterID int, filter Upda
112
114
return err
113
115
}
114
116
115
- req , err := http . NewRequestWithContext ( ctx , http . MethodPatch , c .Host + "/api/filters/" + id , bytes . NewBuffer ( body ) )
117
+ reqUrl , err := url . JoinPath ( c .Host , "/api/filters/" , id )
116
118
if err != nil {
117
119
return err
118
120
}
119
121
120
- req .SetBasicAuth (c .BasicUser , c .BasicPass )
121
- req .Header .Add ("X-API-Token" , c .APIKey )
122
- c .buildUserAgent (req )
122
+ req , err := c .newRequest (ctx , http .MethodPatch , reqUrl , bytes .NewBuffer (body ))
123
+ if err != nil {
124
+ return err
125
+ }
123
126
124
127
res , err := c .client .Do (req )
125
128
if err != nil {
@@ -141,6 +144,19 @@ func (c *Client) UpdateFilterByID(ctx context.Context, filterID int, filter Upda
141
144
return nil
142
145
}
143
146
147
+ func (c * Client ) newRequest (ctx context.Context , method string , url string , body io.Reader ) (* http.Request , error ) {
148
+ req , err := http .NewRequestWithContext (ctx , method , url , body )
149
+ if err != nil {
150
+ return nil , err
151
+ }
152
+
153
+ req .SetBasicAuth (c .BasicUser , c .BasicPass )
154
+ req .Header .Add ("X-API-Token" , c .APIKey )
155
+ c .buildUserAgent (req )
156
+
157
+ return req , nil
158
+ }
159
+
144
160
func (c * Client ) buildUserAgent (req * http.Request ) {
145
161
agent := fmt .Sprintf ("omegabrr/%s (%s %s)" , buildinfo .Version , runtime .GOOS , runtime .GOARCH )
146
162
0 commit comments