Skip to content

Commit ef66e6f

Browse files
committed
Basic logging for main & drivers complete
1 parent b9c3911 commit ef66e6f

File tree

5 files changed

+41
-35
lines changed

5 files changed

+41
-35
lines changed

drivers/8810ft.go

Lines changed: 15 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,12 @@ import (
44
"encoding/json"
55
"fmt"
66
"io"
7-
"log/slog"
87
"net/http"
98
"net/url"
109
"strconv"
1110
"strings"
1211
"time"
1312

14-
"github.com/brokenCursor/usb-modem-cli/logging"
1513
"github.com/warthog618/sms/encoding/gsm7"
1614
)
1715

@@ -31,16 +29,9 @@ type (
3129
}
3230
)
3331

34-
var (
35-
httpClient *http.Client
36-
l *slog.Logger
37-
)
38-
3932
func init() {
40-
l = logging.GetDriverLogger("ZTE 8810FT")
41-
httpClient = &http.Client{Timeout: time.Second * 30}
4233
registerDriver("ZTE 8810FT", newZTE8810FT)
43-
l.Debug("driver registered")
34+
// dLogger.Debug("driver registered")
4435
}
4536

4637
func newZTE8810FT(host string) BaseModem {
@@ -84,6 +75,8 @@ func (m *zte8810ft) ConnectCell() error {
8475
u.RawQuery = query.Encode()
8576
request := m.getNewRequest("GET", u, http.Header{})
8677

78+
dLogger.With("driver", "8810FT").Debug("request", request.URL.String(), nil)
79+
8780
resp, err := httpClient.Do(request)
8881

8982
// Process errors
@@ -122,6 +115,8 @@ func (m *zte8810ft) DisconnectCell() error {
122115
u.RawQuery = query.Encode()
123116
request := m.getNewRequest("GET", u, http.Header{})
124117

118+
dLogger.With("driver", "8810FT").Debug("request", request.URL.String(), nil)
119+
125120
resp, err := httpClient.Do(request)
126121
// Process errors
127122
switch {
@@ -151,9 +146,6 @@ func (m *zte8810ft) DisconnectCell() error {
151146
}
152147

153148
func (m *zte8810ft) GetCellConnStatus() (*LinkStatus, error) {
154-
// Lines 251-258
155-
// /goform/goform_get_cmd_process?isTest=False&cmd=ppp_connected,multi_data=1&sms_received_flag_flag=0&sts_received_flag_flag=0&_=<curr_time>
156-
157149
// Build URL
158150
u := m.getBaseURL("/goform/goform_get_cmd_process")
159151
query := u.Query()
@@ -167,6 +159,8 @@ func (m *zte8810ft) GetCellConnStatus() (*LinkStatus, error) {
167159

168160
request := m.getNewRequest("GET", u, http.Header{})
169161

162+
dLogger.With("driver", "8810FT").Debug("request", request.URL.String(), nil)
163+
170164
resp, err := httpClient.Do(request)
171165

172166
// Process errors
@@ -192,13 +186,13 @@ func (m *zte8810ft) GetCellConnStatus() (*LinkStatus, error) {
192186
// Process the result
193187
switch result.Connected {
194188
case "ppp_connected":
195-
return &LinkStatus{Up: true}, nil
189+
return &LinkStatus{State: 3}, nil
196190
case "ppp_connecting":
197-
return &LinkStatus{Connecting: true}, nil
191+
return &LinkStatus{State: 2}, nil
198192
case "ppp_disconnecting":
199-
return &LinkStatus{Disconnecting: true}, nil
193+
return &LinkStatus{State: 1}, nil
200194
case "ppp_disconnected":
201-
return &LinkStatus{Down: true}, nil
195+
return &LinkStatus{State: 0}, nil
202196
default:
203197
// Unknown link status occurred
204198
return nil, ErrUnknown
@@ -245,10 +239,13 @@ func (m *zte8810ft) SendSMS(phone string, message string) error {
245239
"Content-Type": {"application/x-www-form-urlencoded", "charset=UTF-8"}})
246240

247241
// Some Go-level string manipulation
248-
stringReader := strings.NewReader(query.Encode())
242+
encoded := query.Encode()
243+
stringReader := strings.NewReader(encoded)
249244
stringReadCloser := io.NopCloser(stringReader)
250245
request.Body = stringReadCloser
251246

247+
dLogger.With("driver", "8810FT").Debug("url", request.URL.String(), "body", encoded, nil)
248+
252249
resp, err := httpClient.Do(request)
253250

254251
// Process errors

drivers/common.go

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,10 @@ package drivers
33
import (
44
"fmt"
55
"log/slog"
6+
"net/http"
7+
"time"
68

9+
"github.com/brokenCursor/usb-modem-cli/config"
710
"github.com/brokenCursor/usb-modem-cli/logging"
811
)
912

@@ -40,20 +43,26 @@ type (
4043

4144
// Link statuses
4245
LinkStatus struct {
43-
Up bool
44-
Down bool
45-
Connecting bool
46-
Disconnecting bool
46+
State int8
4747
}
4848
)
4949

5050
var (
51-
drivers map[string]func(host string) BaseModem = map[string]func(host string) BaseModem{}
51+
drivers map[string]func(host string) BaseModem = map[string]func(host string) BaseModem{}
52+
httpClient *http.Client
53+
5254
logger *slog.Logger
55+
dLogger *slog.Logger
5356
)
5457

5558
func init() {
5659
logger = logging.GetGeneralLogger()
60+
// TODO: fix per-driver logging while keeping the dependency three sane-ish
61+
dLogger = logging.GetDriverLogger("common")
62+
63+
driverConfig := config.Sub("driver")
64+
// logger.Debug("ttl", driverConfig.GetDuration("cmd_ttl")*time.Second)
65+
httpClient = &http.Client{Timeout: driverConfig.GetDuration("cmd_ttl") * time.Second}
5766
}
5867

5968
func isRegistered(name string) bool {

drivers/dummy.go

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,28 +3,28 @@ package drivers
33
// DO NOT USE DIRECTLY
44
type (
55
dummy struct {
6-
ip string
6+
host string
77
}
88
)
99

1010
func init() {
1111
registerDriver("dummy", newDummy)
12+
dLogger.With("driver", "dummy").Debug("dummy driver registered")
1213
}
1314

14-
func newDummy(ip string) BaseModem {
15-
// fmt.Println("Dummy driver enabled!")
16-
return &dummy{ip: ip}
15+
func newDummy(host string) BaseModem {
16+
return &dummy{host: host}
1717
}
1818

1919
func (m *dummy) GetModel() string {
2020
return "Dummy"
2121
}
2222

2323
func (m *dummy) SetHost(ip string) error {
24-
m.ip = ip
24+
m.host = ip
2525
return nil
2626
}
2727

2828
func (m *dummy) GetHost() string {
29-
return m.ip
29+
return m.host
3030
}

logging/logging.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,5 +65,5 @@ func GetGeneralLogger() *slog.Logger {
6565
}
6666

6767
func GetDriverLogger(name string) *slog.Logger {
68-
return driver.With("driver", name)
68+
return driver
6969
}

mcli.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -90,14 +90,14 @@ func run() error {
9090
}
9191

9292
// Process and output status
93-
switch {
94-
case status.Up:
93+
switch status.State {
94+
case 3:
9595
cfmt.Println("Status: {{up}}::green|bold")
96-
case status.Down:
96+
case 0:
9797
cfmt.Println("Status: {{down}}::red|bold")
98-
case status.Connecting:
98+
case 2:
9999
cfmt.Println("Status: {{connecting}}::yellow|bold")
100-
case status.Disconnecting:
100+
case 1:
101101
cfmt.Println("Status: {{disconnecting}}::#FA8100|bold")
102102
}
103103
}

0 commit comments

Comments
 (0)