Commit 5d6c3dd
committed
fix(wikis): pass If-Match ETag header on wiki page updates
The wiki page update code fetched the existing page to get
the ETag but never passed it to the PUT call — the _existing
binding discarded the response. Without the If-Match header,
concurrent edits could silently overwrite each other.
Changes:
* lib/ado_cli/client.ex — added Client.put/4 that accepts
extra HTTP headers (e.g. If-Match). The new 4-arity
function passes extra_headers through do_request ->
do_request_with_auth, where they're merged with auth
headers. The existing 3-arity put/3 is unchanged.
* lib/ado_cli/cli/wikis.ex — the update_page function now
extracts the eTag from the fetched page and passes it as
{"If-Match", etag} to Client.put/4. If the page has no
ETag (unlikely), the PUT proceeds without it.
* lib/ado_cli/cli/test_results.ex — replaced Jason.encode!/1
with JSON.encode!/1 (Elixir 1.20 built-in) to silence a
dialyzer warning.
325 tests pass, dialyzer clean, credo clean.1 parent 0227cb4 commit 5d6c3dd
3 files changed
Lines changed: 25 additions & 13 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
211 | 211 | | |
212 | 212 | | |
213 | 213 | | |
214 | | - | |
| 214 | + | |
215 | 215 | | |
216 | 216 | | |
217 | 217 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
187 | 187 | | |
188 | 188 | | |
189 | 189 | | |
190 | | - | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
191 | 193 | | |
192 | | - | |
| 194 | + | |
| 195 | + | |
193 | 196 | | |
194 | | - | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
195 | 200 | | |
196 | 201 | | |
197 | 202 | | |
198 | 203 | | |
199 | 204 | | |
200 | | - | |
| 205 | + | |
| 206 | + | |
201 | 207 | | |
202 | 208 | | |
203 | 209 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
70 | 70 | | |
71 | 71 | | |
72 | 72 | | |
73 | | - | |
74 | | - | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
75 | 81 | | |
76 | 82 | | |
77 | 83 | | |
| |||
95 | 101 | | |
96 | 102 | | |
97 | 103 | | |
98 | | - | |
| 104 | + | |
99 | 105 | | |
100 | | - | |
| 106 | + | |
101 | 107 | | |
102 | 108 | | |
103 | | - | |
| 109 | + | |
104 | 110 | | |
105 | | - | |
| 111 | + | |
106 | 112 | | |
107 | 113 | | |
108 | 114 | | |
109 | | - | |
| 115 | + | |
110 | 116 | | |
111 | 117 | | |
112 | | - | |
| 118 | + | |
113 | 119 | | |
114 | 120 | | |
115 | 121 | | |
| |||
0 commit comments