@@ -162,18 +162,20 @@ public function keys($prefix = null, QueryOptions $queryOptions = null)
162
162
}
163
163
164
164
/**
165
- * @param KVPair $KVPair
165
+ * @param KVPair $p
166
166
* @param WriteOptions $writeOptions
167
167
* @return array(
168
168
* @type \DCarbone\PHPConsulAPI\WriteMeta write metadata
169
169
* @type \DCarbone\PHPConsulAPI\Error|null error, if any
170
170
* )
171
171
*/
172
- public function put (KVPair $ KVPair , WriteOptions $ writeOptions = null )
172
+ public function put (KVPair $ p , WriteOptions $ writeOptions = null )
173
173
{
174
- $ r = new HttpRequest ('put ' , sprintf ('v1/kv/%s ' , $ KVPair ->Key ), $ this ->_Config );
174
+ $ r = new HttpRequest ('put ' , sprintf ('v1/kv/%s ' , $ p ->Key ), $ this ->_Config );
175
175
$ r ->setWriteOptions ($ writeOptions );
176
- $ r ->body = ($ KVPair );
176
+ $ r ->body = $ p ->Value ;
177
+ if (0 !== $ p ->Flags )
178
+ $ r ->params ->set ('flags ' , $ p ->Flags );
177
179
178
180
list ($ duration , $ _ , $ err ) = $ this ->requireOK ($ this ->doRequest ($ r ));
179
181
$ wm = $ this ->buildWriteMeta ($ duration );
@@ -200,6 +202,72 @@ public function delete($key, WriteOptions $writeOptions = null)
200
202
return [$ wm , $ err ];
201
203
}
202
204
205
+ /**
206
+ * @param KVPair $p
207
+ * @param WriteOptions $writeOptions
208
+ * @return array(
209
+ * @type \DCarbone\PHPConsulAPI\WriteMeta write metadata
210
+ * @type \DCarbone\PHPConsulAPI\Error|null error, if any
211
+ * )
212
+ */
213
+ public function cas (KVPair $ p , WriteOptions $ writeOptions = null )
214
+ {
215
+ $ r = new HttpRequest ('put ' , sprintf ('v1/kv/%s ' , $ p ->Key ), $ this ->_Config );
216
+ $ r ->setWriteOptions ($ writeOptions );
217
+ $ r ->params ->set ('cas ' , $ p ->ModifyIndex );
218
+ if (0 !== $ p ->Flags )
219
+ $ r ->params ->set ('flags ' , $ p ->Flags );
220
+
221
+ list ($ duration , $ _ , $ err ) = $ this ->requireOK ($ this ->doRequest ($ r ));
222
+ $ wm = $ this ->buildWriteMeta ($ duration );
223
+
224
+ return [$ wm , $ err ];
225
+ }
226
+
227
+ /**
228
+ * @param KVPair $p
229
+ * @param WriteOptions $writeOptions
230
+ * @return array(
231
+ * @type \DCarbone\PHPConsulAPI\WriteMeta write metadata
232
+ * @type \DCarbone\PHPConsulAPI\Error|null error, if any
233
+ * )
234
+ */
235
+ public function acquire (KVPair $ p , WriteOptions $ writeOptions = null )
236
+ {
237
+ $ r = new HttpRequest ('put ' , sprintf ('v1/kv/%s ' , $ p ->Key ), $ this ->_Config );
238
+ $ r ->setWriteOptions ($ writeOptions );
239
+ $ r ->params ->set ('acquire ' , $ p ->Session );
240
+ if (0 !== $ p ->Flags )
241
+ $ r ->params ->set ('flags ' , $ p ->Flags );
242
+
243
+ list ($ duration , $ _ , $ err ) = $ this ->requireOK ($ this ->doRequest ($ r ));
244
+ $ wm = $ this ->buildWriteMeta ($ duration );
245
+
246
+ return [$ wm , $ err ];
247
+ }
248
+
249
+ /**
250
+ * @param KVPair $p
251
+ * @param WriteOptions $writeOptions
252
+ * @return array(
253
+ * @type \DCarbone\PHPConsulAPI\WriteMeta write metadata
254
+ * @type \DCarbone\PHPConsulAPI\Error|null error, if any
255
+ * )
256
+ */
257
+ public function release (KVPair $ p , WriteOptions $ writeOptions = null )
258
+ {
259
+ $ r = new HttpRequest ('put ' , sprintf ('v1/kv/%s ' , $ p ->Key ), $ this ->_Config );
260
+ $ r ->setWriteOptions ($ writeOptions );
261
+ $ r ->params ->set ('release ' , $ p ->Session );
262
+ if (0 !== $ p ->Flags )
263
+ $ r ->params ->set ('flags ' , $ p ->Flags );
264
+
265
+ list ($ duration , $ _ , $ err ) = $ this ->requireOK ($ this ->doRequest ($ r ));
266
+ $ wm = $ this ->buildWriteMeta ($ duration );
267
+
268
+ return [$ wm , $ err ];
269
+ }
270
+
203
271
/**
204
272
* @param null|string $prefix
205
273
* @param QueryOptions $queryOptions
0 commit comments