Skip to content

Commit 01faee8

Browse files
committed
fixed error messages
1 parent 2603d81 commit 01faee8

File tree

2 files changed

+32
-17
lines changed

2 files changed

+32
-17
lines changed

devices/wda/requests.go

Lines changed: 28 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -20,25 +20,30 @@ func (c *WdaClient) GetEndpoint(endpoint string) (map[string]interface{}, error)
2020

2121
req, err := http.NewRequestWithContext(ctx, "GET", url, nil)
2222
if err != nil {
23-
return nil, fmt.Errorf("failed to create request: %v", err)
23+
return nil, fmt.Errorf("failed to create request: %w", err)
2424
}
2525

2626
resp, err := c.httpClient.Do(req)
2727
if err != nil {
28-
return nil, fmt.Errorf("failed to fetch endpoint %s: %v", endpoint, err)
28+
return nil, fmt.Errorf("failed to fetch endpoint %s: %w", endpoint, err)
2929
}
3030
defer func() { _ = resp.Body.Close() }()
3131

32+
// check HTTP status code
33+
if resp.StatusCode < 200 || resp.StatusCode >= 300 {
34+
return nil, fmt.Errorf("endpoint %s returned non-2xx status: %d", endpoint, resp.StatusCode)
35+
}
36+
3237
// Read the response body
3338
body, err := io.ReadAll(resp.Body)
3439
if err != nil {
35-
return nil, fmt.Errorf("error reading response: %v", err)
40+
return nil, fmt.Errorf("error reading response: %w", err)
3641
}
3742

3843
// Parse the JSON response
3944
var result map[string]interface{}
4045
if err := json.Unmarshal(body, &result); err != nil {
41-
return nil, fmt.Errorf("invalid JSON response: %v", err)
46+
return nil, fmt.Errorf("invalid JSON response: %w", err)
4247
}
4348

4449
return result, nil
@@ -48,28 +53,33 @@ func (c *WdaClient) PostEndpoint(endpoint string, data interface{}) (map[string]
4853
url := fmt.Sprintf("%s/%s", c.baseURL, endpoint)
4954
jsonData, err := json.Marshal(data)
5055
if err != nil {
51-
return nil, fmt.Errorf("failed to marshal data: %v", err)
56+
return nil, fmt.Errorf("failed to marshal data: %w", err)
5257
}
5358

5459
ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second)
5560
defer cancel()
5661

5762
req, err := http.NewRequestWithContext(ctx, "POST", url, bytes.NewBuffer(jsonData))
5863
if err != nil {
59-
return nil, fmt.Errorf("failed to create request: %v", err)
64+
return nil, fmt.Errorf("failed to create request: %w", err)
6065
}
6166
req.Header.Set("Content-Type", "application/json")
6267

6368
resp, err := c.httpClient.Do(req)
6469
if err != nil {
65-
return nil, fmt.Errorf("failed to post to endpoint %s: %v", endpoint, err)
70+
return nil, fmt.Errorf("failed to post to endpoint %s: %w", endpoint, err)
6671
}
6772

6873
defer func() { _ = resp.Body.Close() }()
6974

75+
// check HTTP status code
76+
if resp.StatusCode < 200 || resp.StatusCode >= 300 {
77+
return nil, fmt.Errorf("endpoint %s returned non-2xx status: %d", endpoint, resp.StatusCode)
78+
}
79+
7080
var result map[string]interface{}
7181
if err := json.NewDecoder(resp.Body).Decode(&result); err != nil {
72-
return nil, fmt.Errorf("invalid JSON response: %v", err)
82+
return nil, fmt.Errorf("invalid JSON response: %w", err)
7383
}
7484

7585
return result, nil
@@ -83,19 +93,24 @@ func (c *WdaClient) DeleteEndpoint(endpoint string) (map[string]interface{}, err
8393

8494
req, err := http.NewRequestWithContext(ctx, "DELETE", url, nil)
8595
if err != nil {
86-
return nil, fmt.Errorf("failed to create request: %v", err)
96+
return nil, fmt.Errorf("failed to create request: %w", err)
8797
}
8898

8999
resp, err := c.httpClient.Do(req)
90100
if err != nil {
91-
return nil, fmt.Errorf("failed to delete endpoint %s: %v", endpoint, err)
101+
return nil, fmt.Errorf("failed to delete endpoint %s: %w", endpoint, err)
92102
}
93103

94104
defer func() { _ = resp.Body.Close() }()
95105

106+
// check HTTP status code
107+
if resp.StatusCode < 200 || resp.StatusCode >= 300 {
108+
return nil, fmt.Errorf("endpoint %s returned non-2xx status: %d", endpoint, resp.StatusCode)
109+
}
110+
96111
var result map[string]interface{}
97112
if err := json.NewDecoder(resp.Body).Decode(&result); err != nil {
98-
return nil, fmt.Errorf("invalid JSON response: %v", err)
113+
return nil, fmt.Errorf("invalid JSON response: %w", err)
99114
}
100115

101116
return result, nil
@@ -138,7 +153,7 @@ func (c *WdaClient) CreateSession() (string, error) {
138153
})
139154

140155
if err != nil {
141-
return "", fmt.Errorf("failed to create session: %v", err)
156+
return "", fmt.Errorf("failed to create session: %w", err)
142157
}
143158

144159
// log.Printf("createSession response: %v", response)
@@ -178,7 +193,7 @@ func (c *WdaClient) DeleteSession(sessionId string) error {
178193
url := fmt.Sprintf("session/%s", sessionId)
179194
_, err := c.DeleteEndpoint(url)
180195
if err != nil {
181-
return fmt.Errorf("failed to delete session %s: %v", sessionId, err)
196+
return fmt.Errorf("failed to delete session %s: %w", sessionId, err)
182197
}
183198
return nil
184199
}

devices/wda/types.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,10 +29,10 @@ func NewWdaClient(hostPort string) *WdaClient {
2929

3030
type TapAction struct {
3131
Type string `json:"type"`
32-
Duration int `json:"duration,omitempty"`
33-
X int `json:"x,omitempty"`
34-
Y int `json:"y,omitempty"`
35-
Button int `json:"button,omitempty"`
32+
Duration int `json:"duration"`
33+
X int `json:"x"`
34+
Y int `json:"y"`
35+
Button int `json:"button"`
3636
}
3737

3838
type PointerParameters struct {

0 commit comments

Comments
 (0)