@@ -67,15 +67,16 @@ func (m *zte8810ft) getBaseURL(path string) *url.URL {
67
67
return & url.URL {Scheme : "http" , Host : m .config .GetString ("host" ), Path : path }
68
68
}
69
69
70
- func (m * zte8810ft ) getNewRequest (method string , url * url.URL , headers http.Header ) * http.Request {
70
+ func (m * zte8810ft ) getNewRequest (method string , url * url.URL , headers http.Header , body io. Reader ) ( req * http.Request , err error ) {
71
71
headers .Add ("Referer" , fmt .Sprintf ("http://%s/index.html" , m .config .GetString ("host" )))
72
72
73
- return & http.Request {
74
- Proto : "HTTP/1.1" ,
75
- Method : method ,
76
- URL : url ,
77
- Header : headers ,
73
+ req , err = http .NewRequest (method , url .String (), body )
74
+ if err != nil {
75
+ return nil , err
78
76
}
77
+
78
+ req .Header = headers
79
+ return
79
80
}
80
81
81
82
func (m * zte8810ft ) GetModel () string {
@@ -88,8 +89,12 @@ func (m *zte8810ft) ConnectCell() error {
88
89
query := u .Query ()
89
90
query .Add ("goformId" , "CONNECT_NETWORK" )
90
91
u .RawQuery = query .Encode ()
91
- request := m .getNewRequest ("GET" , u , http.Header {})
92
92
93
+ // Create request
94
+ request , err := m .getNewRequest ("GET" , u , http.Header {}, strings .NewReader ("" ))
95
+ if err != nil {
96
+ return ActionError {Action : "connect" , Err : err }
97
+ }
93
98
m .logger .Debug ("request" , request .URL .String (), nil )
94
99
95
100
resp , err := m .httpClient .Do (request )
@@ -128,7 +133,12 @@ func (m *zte8810ft) DisconnectCell() error {
128
133
query := u .Query ()
129
134
query .Add ("goformId" , "DISCONNECT_NETWORK" )
130
135
u .RawQuery = query .Encode ()
131
- request := m .getNewRequest ("GET" , u , http.Header {})
136
+
137
+ // Create request
138
+ request , err := m .getNewRequest ("GET" , u , http.Header {}, strings .NewReader ("" ))
139
+ if err != nil {
140
+ return ActionError {Action : "disconnect" , Err : err }
141
+ }
132
142
133
143
m .logger .Debug ("request" , request .URL .String (), nil )
134
144
@@ -172,8 +182,10 @@ func (m *zte8810ft) GetCellConnStatus() (*LinkStatus, error) {
172
182
query .Add ("_" , strconv .FormatInt ((time .Now ().UnixMilli )(), 10 ))
173
183
u .RawQuery = query .Encode ()
174
184
175
- request := m .getNewRequest ("GET" , u , http.Header {})
176
-
185
+ request , err := m .getNewRequest ("GET" , u , http.Header {}, strings .NewReader ("" ))
186
+ if err != nil {
187
+ return nil , ActionError {Action : "status" , Err : err }
188
+ }
177
189
m .logger .Debug ("request" , request .URL .String (), nil )
178
190
179
191
resp , err := m .httpClient .Do (request )
@@ -250,18 +262,20 @@ func (m *zte8810ft) SendSMS(phone string, message string) error {
250
262
query .Add ("sms_time" , t .Format ("06;01;02;15;04;05;" )+ strconv .Itoa (tz / 3600 ))
251
263
}
252
264
253
- request := m .getNewRequest ("POST" , u , http.Header {
254
- "Content-Type" : {"application/x-www-form-urlencoded" , "charset=UTF-8" }})
255
-
256
265
// Some Go-level string manipulation
257
266
encoded := query .Encode ()
258
267
stringReader := strings .NewReader (encoded )
259
- stringReadCloser := io .NopCloser (stringReader )
260
- request .Body = stringReadCloser
261
268
269
+ // Create request
270
+ request , err := m .getNewRequest ("POST" , u , http.Header {
271
+ "Content-Type" : {"application/x-www-form-urlencoded; charset=UTF-8" }}, stringReader )
272
+ if err != nil {
273
+ return ActionError {Action : "sms send" , Err : err }
274
+ }
262
275
m .logger .Debug ("url" , request .URL .String (), "body" , encoded , nil )
263
276
264
277
resp , err := m .httpClient .Do (request )
278
+ request .Close = true
265
279
266
280
// Process errors
267
281
switch {
0 commit comments