From e39252ae5048156ac33999ce9bb07212798b6b80 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Hoguin?= Date: Thu, 26 Sep 2019 14:05:08 +0200 Subject: Add Gun 2.0-pre documentation But don't propagate via RSS. --- docs/en/gun/2.0/manual/gun.patch/index.html | 246 ++++++++++++++++++++++++++++ 1 file changed, 246 insertions(+) create mode 100644 docs/en/gun/2.0/manual/gun.patch/index.html (limited to 'docs/en/gun/2.0/manual/gun.patch') diff --git a/docs/en/gun/2.0/manual/gun.patch/index.html b/docs/en/gun/2.0/manual/gun.patch/index.html new file mode 100644 index 00000000..55186a18 --- /dev/null +++ b/docs/en/gun/2.0/manual/gun.patch/index.html @@ -0,0 +1,246 @@ + + + + + + + + + + Nine Nines: gun:patch(3) + + + + + + + + + + + + + + + + +
+
+
+
+ +

gun:patch(3)

+ +

Name

+

gun:patch - Apply a set of changes to a resource

+

Description

+
+
patch(ConnPid, Path, Headers)
+    -> patch(ConnPid, Path, Headers, #{})
+
+patch(ConnPid, Path, Headers, ReqOpts)
+    -> StreamRef
+
+patch(ConnPid, Path, Headers, Body)
+    -> patch(ConnPid, Path, Headers, Body, #{})
+
+patch(ConnPid, Path, Headers, Body, ReqOpts)
+    -> StreamRef
+
+ConnPid   :: pid()
+Path      :: iodata()
+Headers   :: gun:req_headers()
+Body      :: iodata()
+ReqOpts   :: gun:req_opts()
+StreamRef :: reference()
+
+

Apply a set of changes to a resource.

+

The behavior of this function varies depending on whether a body is provided.

+

The function patch/3,4 does not send a body. It must be sent separately using gun:data(3).

+

The function patch/4,5 sends the entire request, including the request body, immediately. It is therefore not possible to use gun:data(3) after that. You should provide a content-type header. Gun will set the content-length header automatically.

+

The body sent in this request should be a patch document with instructions on how to update the resource.

+

Arguments

+
ConnPid
+

The pid of the Gun connection process.

+
+
Path
+

Path to the resource.

+
+
Headers
+

Additional request headers.

+
+
Body
+

Request body.

+
+
ReqOpts
+

Request options.

+
+
+

Return value

+

A reference that identifies the newly created stream is returned. It is this reference that must be passed in subsequent calls and will be received in messages related to this new stream.

+

Changelog

+
  • 2.0: Implicit body detection has been removed. The body must now be provided either directly (even if empty) or using separate calls. +
  • +
  • 1.0: Function introduced. +
  • +
+

Examples

+
Patch a resource
+
+
StreamRef = gun:patch(ConnPid, "/users/1",
+    [{<<"content-type">>, <<"application/json-patch+json">>}],
+    <<"[{\"op\":\"add\",\"path\":\"/baz\",\"value\":\"qux\"}]">>).
+
+
Patch a resource in multiple calls
+
+
StreamRef = gun:patch(ConnPid, "/users/1", [
+    {<<"content-type">>, <<"application/json-patch+json">>}
+]).
+gun:data(ConnPid, StreamRef, fin,
+    <<"[{\"op\":\"add\",\"path\":\"/baz\",\"value\":\"qux\"}]">>).
+
+
Patch a resource with request options
+
+
StreamRef = gun:patch(ConnPid, "/users/1",
+    [{<<"content-type">>, <<"application/json-patch+json">>}],
+    <<"[{\"op\":\"add\",\"path\":\"/baz\",\"value\":\"qux\"}]">>,
+    #{reply_to => ReplyToPid}).
+
+

See also

+

gun(3), gun:post(3), gun:put(3), gun:await(3), gun:await_body(3), gun_push(3), gun_inform(3), gun_response(3), gun_data(3)

+ + + + + + +
+ +
+ + +

+ Gun + 2.0 + Function Reference + +

+ + + +

Navigation

+ +

Version select

+ + +

Like my work? Donate!

+

Donate to Loïc Hoguin because his work on Cowboy, Ranch, Gun and Erlang.mk is fantastic:

+
+ + + + + + + + + +

Recurring payment options are also available via BountySource. These funds are used to cover the recurring expenses like dedicated servers or domain names.

+ + + +
+
+
+
+ + + + + + + + + -- cgit v1.2.3