Repository navigation
Commit d19480c
fix(cmd): validate --format before any network call (CONTRACT §4 spirit) (#39)
Each data-producing subcommand (activity, intraday, measurements,
sleep, workouts) was instantiating client.New() and hitting the
Withings API before calling validateFormat() on --format. An invalid
value like --format obviously-not-a-format would only fail after the
HTTP round-trip, so the compat/formats.flagValidationIsHermetic
subtest was passing for the wrong reason (network error masking the
parse failure under the no-net proxy env).
Move validateFormat() to the top of each RunE, before client.New().
Now an unknown --format exits non-zero with an empty stdout and the
real "unknown --format" message on stderr, with no auth load and no
dial attempt — verified per-subcommand under HTTP_PROXY=127.0.0.1:1.
Refs: quantcli/common QUA-30, CONTRACT §4 (output format).
Co-authored-by: Terastar-Paperclip <terastar-paperclip@users.noreply.github.com>
Co-authored-by: Paperclip <noreply@paperclip.ing>1 parent 3e6bcfd commit d19480c
5 files changed
Lines changed: 30 additions & 20 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
49 | 49 | | |
50 | 50 | | |
51 | 51 | | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
52 | 58 | | |
53 | 59 | | |
54 | 60 | | |
| |||
83 | 89 | | |
84 | 90 | | |
85 | 91 | | |
86 | | - | |
87 | | - | |
88 | | - | |
89 | | - | |
90 | 92 | | |
91 | 93 | | |
92 | 94 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
69 | 69 | | |
70 | 70 | | |
71 | 71 | | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
72 | 78 | | |
73 | 79 | | |
74 | 80 | | |
| |||
124 | 130 | | |
125 | 131 | | |
126 | 132 | | |
127 | | - | |
128 | | - | |
129 | | - | |
130 | | - | |
131 | 133 | | |
132 | 134 | | |
133 | 135 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
80 | 80 | | |
81 | 81 | | |
82 | 82 | | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
83 | 89 | | |
84 | 90 | | |
85 | 91 | | |
| |||
131 | 137 | | |
132 | 138 | | |
133 | 139 | | |
134 | | - | |
135 | | - | |
136 | | - | |
137 | | - | |
138 | 140 | | |
139 | 141 | | |
140 | 142 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
44 | 44 | | |
45 | 45 | | |
46 | 46 | | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
47 | 53 | | |
48 | 54 | | |
49 | 55 | | |
| |||
110 | 116 | | |
111 | 117 | | |
112 | 118 | | |
113 | | - | |
114 | | - | |
115 | | - | |
116 | | - | |
117 | 119 | | |
118 | 120 | | |
119 | 121 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
95 | 95 | | |
96 | 96 | | |
97 | 97 | | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
98 | 104 | | |
99 | 105 | | |
100 | 106 | | |
| |||
131 | 137 | | |
132 | 138 | | |
133 | 139 | | |
134 | | - | |
135 | | - | |
136 | | - | |
137 | | - | |
138 | 140 | | |
139 | 141 | | |
140 | 142 | | |
| |||
0 commit comments