diff options
Diffstat (limited to 'docs/en/gun/1.0/manual')
33 files changed, 7928 insertions, 1541 deletions
diff --git a/docs/en/gun/1.0/manual/gun.await/index.html b/docs/en/gun/1.0/manual/gun.await/index.html new file mode 100644 index 00000000..a0a9d77b --- /dev/null +++ b/docs/en/gun/1.0/manual/gun.await/index.html @@ -0,0 +1,306 @@ +<!DOCTYPE html> +<html lang="en"> + +<head> + <meta charset="utf-8"> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + <meta name="description" content=""> + <meta name="author" content="Loïc Hoguin based on a design from (Soft10) Pol Cámara"> + + <title>Nine Nines: gun:await(3)</title> + + <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic' rel='stylesheet' type='text/css'> + <link href="/css/99s.css?r=1" rel="stylesheet"> + + <link rel="shortcut icon" href="/img/ico/favicon.ico"> + <link rel="apple-touch-icon-precomposed" sizes="114x114" href="/img/ico/apple-touch-icon-114.png"> + <link rel="apple-touch-icon-precomposed" sizes="72x72" href="/img/ico/apple-touch-icon-72.png"> + <link rel="apple-touch-icon-precomposed" href="/img/ico/apple-touch-icon-57.png"> + + +</head> + + +<body class=""> + <header id="page-head"> + <div id="topbar" class="container"> + <div class="row"> + <div class="span2"> + <h1 id="logo"><a href="/" title="99s">99s</a></h1> + </div> + <div class="span10"> + + <div id="side-header"> + <nav> + <ul> + <li><a title="Hear my thoughts" href="/articles">Articles</a></li> + <li><a title="Watch my talks" href="/talks">Talks</a></li> + <li class="active"><a title="Read the docs" href="/docs">Documentation</a></li> + <li><a title="Request my services" href="/services">Consulting & Training</a></li> + </ul> + </nav> + <ul id="social"> + <li> + <a href="https://github.com/ninenines" title="Check my Github repositories"><img src="/img/ico_github.png" data-hover="/img/ico_github_alt.png" alt="Github"></a> + </li> + <li> + <a title="Contact me" href="mailto:[email protected]"><img src="/img/ico_mail.png" data-hover="/img/ico_mail_alt.png"></a> + </li> + </ul> + </div> + </div> + </div> + </div> + + +</header> + +<div id="contents" class="two_col"> +<div class="container"> +<div class="row"> +<div id="docs" class="span9 maincol"> + +<h1 class="lined-header"><span>gun:await(3)</span></h1> + +<div class="sect1"> +<h2 id="_name">Name</h2> +<div class="sectionbody"> +<div class="paragraph"><p>gun:await - Wait for a response</p></div> +</div> +</div> +<div class="sect1"> +<h2 id="_description">Description</h2> +<div class="sectionbody"> +<div class="listingblock"> +<div class="content"><!-- Generator: GNU source-highlight +by Lorenzo Bettini +http://www.lorenzobettini.it +http://www.gnu.org/software/src-highlite --> +<pre><tt><span style="font-weight: bold"><span style="color: #000000">await</span></span>(<span style="color: #009900">ConnPid</span>, <span style="color: #009900">StreamRef</span>) + <span style="color: #990000">-></span> <span style="font-weight: bold"><span style="color: #000000">await</span></span>(<span style="color: #009900">ConnPid</span>, <span style="color: #009900">StreamRef</span>, <span style="color: #993399">5000</span>, <span style="color: #009900">MonitorRef</span>) + +<span style="font-weight: bold"><span style="color: #000000">await</span></span>(<span style="color: #009900">ConnPid</span>, <span style="color: #009900">StreamRef</span>, <span style="color: #009900">MonitorRef</span>) + <span style="color: #990000">-></span> <span style="font-weight: bold"><span style="color: #000000">await</span></span>(<span style="color: #009900">ConnPid</span>, <span style="color: #009900">StreamRef</span>, <span style="color: #993399">5000</span>, <span style="color: #009900">MonitorRef</span>) + +<span style="font-weight: bold"><span style="color: #000000">await</span></span>(<span style="color: #009900">ConnPid</span>, <span style="color: #009900">StreamRef</span>, <span style="color: #009900">Timeout</span>) + <span style="color: #990000">-></span> <span style="font-weight: bold"><span style="color: #000000">await</span></span>(<span style="color: #009900">ConnPid</span>, <span style="color: #009900">StreamRef</span>, <span style="color: #009900">Timeout</span>, <span style="color: #009900">MonitorRef</span>) + +<span style="font-weight: bold"><span style="color: #000000">await</span></span>(<span style="color: #009900">ConnPid</span>, <span style="color: #009900">StreamRef</span>, <span style="color: #009900">Timeout</span>, <span style="color: #009900">MonitorRef</span>) + <span style="color: #990000">-></span> <span style="color: #009900">Result</span> + +<span style="color: #009900">ConnPid</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">pid</span></span>() +<span style="color: #009900">StreamRef</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">reference</span></span>() +<span style="color: #009900">MonitorRef</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">reference</span></span>() +<span style="color: #009900">Timeout</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">timeout</span></span>() +<span style="color: #009900">Result</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">tuple</span></span>() <span style="color: #990000">-</span> <span style="color: #FF6600">see</span> <span style="color: #FF6600">below</span></tt></pre></div></div> +<div class="paragraph"><p>Wait for a response.</p></div> +<div class="paragraph"><p>This function waits for a message from the given stream and +returns it as a tuple. An error will be returned should the +process fail or a relevant message is not received within +the specified duration.</p></div> +</div> +</div> +<div class="sect1"> +<h2 id="_arguments">Arguments</h2> +<div class="sectionbody"> +<div class="dlist"><dl> +<dt class="hdlist1"> +ConnPid +</dt> +<dd> +<p> +The pid of the Gun connection process. +</p> +</dd> +<dt class="hdlist1"> +StreamRef +</dt> +<dd> +<p> +Identifier of the stream for the original request. +</p> +</dd> +<dt class="hdlist1"> +Timeout +</dt> +<dd> +<p> +How long to wait for a message, in milliseconds. +</p> +</dd> +<dt class="hdlist1"> +MonitorRef +</dt> +<dd> +<p> +Monitor for the Gun connection process. +</p> +<div class="paragraph"><p>A monitor is automatically created for the duration of this +call when one is not provided.</p></div> +</dd> +</dl></div> +</div> +</div> +<div class="sect1"> +<h2 id="_return_value">Return value</h2> +<div class="sectionbody"> +<div class="paragraph"><p>A number of different tuples can be returned. They correspond +to the message of the same name and they contain the same +elements minus the pid and stream reference. Error tuples +may also be returned when a timeout or an error occur.</p></div> +<div class="listingblock"> +<div class="content"><!-- Generator: GNU source-highlight +by Lorenzo Bettini +http://www.lorenzobettini.it +http://www.gnu.org/software/src-highlite --> +<pre><tt><span style="color: #009900">Result</span> <span style="color: #990000">::</span> {<span style="color: #FF6600">inform</span>, <span style="color: #009900">Status</span>, <span style="color: #009900">Headers</span>} + {<span style="color: #FF6600">response</span>, <span style="color: #009900">IsFin</span>, <span style="color: #009900">Status</span>, <span style="color: #009900">Headers</span>} + {<span style="color: #FF6600">data</span>, <span style="color: #009900">IsFin</span>, <span style="color: #009900">Data</span>} + {<span style="color: #FF6600">trailers</span>, <span style="color: #009900">Trailers</span>} + {<span style="color: #FF6600">push</span>, <span style="color: #009900">NewStreamRef</span>, <span style="color: #009900">Method</span>, <span style="color: #009900">URI</span>, <span style="color: #009900">Headers</span>} + {<span style="color: #FF6600">error</span>, <span style="color: #009900">Reason</span>} + +<span style="color: #009900">Reason</span> <span style="color: #990000">::</span> <span style="color: #FF6600">timeout</span> | <span style="font-weight: bold"><span style="color: #000000">any</span></span>()</tt></pre></div></div> +<div class="paragraph"><p>Because the messages and returned tuples are equivalent, +please refer to the manual pages for each message for +further information:</p></div> +<div class="ulist"><ul> +<li> +<p> +<a href="../gun_push">gun_push(3)</a> - Server-initiated push +</p> +</li> +<li> +<p> +<a href="../gun_inform">gun_inform(3)</a> - Informational response +</p> +</li> +<li> +<p> +<a href="../gun_response">gun_response(3)</a> - Response +</p> +</li> +<li> +<p> +<a href="../gun_data">gun_data(3)</a> - Response body +</p> +</li> +<li> +<p> +<a href="../gun_trailers">gun_trailers(3)</a> - Response trailers +</p> +</li> +</ul></div> +</div> +</div> +<div class="sect1"> +<h2 id="_changelog">Changelog</h2> +<div class="sectionbody"> +<div class="ulist"><ul> +<li> +<p> +<strong>1.0</strong>: Function introduced. +</p> +</li> +</ul></div> +</div> +</div> +<div class="sect1"> +<h2 id="_examples">Examples</h2> +<div class="sectionbody"> +<div class="listingblock"> +<div class="title">Wait for a response</div> +<div class="content"><!-- Generator: GNU source-highlight +by Lorenzo Bettini +http://www.lorenzobettini.it +http://www.gnu.org/software/src-highlite --> +<pre><tt><span style="color: #009900">StreamRef</span> <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">gun:get</span></span>(<span style="color: #009900">ConnPid</span>, <span style="color: #FF0000">"/articles"</span>, [ + {<span style="color: #990000"><<</span><span style="color: #FF0000">"accept"</span><span style="color: #990000">>></span>, <span style="color: #990000"><<</span><span style="color: #FF0000">"text/html;q=1.0, application/xml;q=0.1"</span><span style="color: #990000">>></span>} +])<span style="color: #990000">.</span> +{<span style="color: #FF6600">response</span>, <span style="color: #FF6600">nofin</span>, <span style="color: #993399">200</span>, <span style="color: #009900">_Headers</span>} <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">gun:await</span></span>(<span style="color: #009900">ConnPid</span>, <span style="color: #009900">StreamRef</span>)<span style="color: #990000">.</span> +{<span style="color: #FF6600">data</span>, <span style="color: #FF6600">fin</span>, <span style="color: #990000"><<</span><span style="color: #FF0000">"Hello world!"</span><span style="color: #990000">>></span>} <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">gun:await</span></span>(<span style="color: #009900">ConnPid</span>, <span style="color: #009900">StreamRef</span>)<span style="color: #990000">.</span></tt></pre></div></div> +</div> +</div> +<div class="sect1"> +<h2 id="_see_also">See also</h2> +<div class="sectionbody"> +<div class="paragraph"><p><a href="../gun">gun(3)</a>, +<a href="../gun.get">gun:get(3)</a>, +<a href="../gun.head">gun:head(3)</a>, +<a href="../gun.options">gun:options(3)</a>, +<a href="../gun.patch">gun:patch(3)</a>, +<a href="../gun.post">gun:post(3)</a>, +<a href="../gun.put">gun:put(3)</a>, +<a href="../gun.delete">gun:delete(3)</a>, +<a href="../gun.request">gun:request(3)</a>, +<a href="../gun.await_body">gun:await_body(3)</a></p></div> +</div> +</div> + + + + + +</div> + +<div class="span3 sidecol"> + + +<h3> + Gun + 1.0 + Function Reference + +</h3> + +<ul> + + <li><a href="/docs/en/gun/1.0/guide">User Guide</a></li> + + + <li><a href="/docs/en/gun/1.0/manual">Function Reference</a></li> + + +</ul> + +<h4 id="docs-nav">Navigation</h4> + +<h4>Version select</h4> +<ul> + + + + <li><a href="/docs/en/gun/1.0/manual">1.0</a></li> + +</ul> + +</div> +</div> +</div> +</div> + + <footer> + <div class="container"> + <div class="row"> + <div class="span6"> + <p id="scroll-top"><a href="#">↑ Scroll to top</a></p> + <nav> + <ul> + <li><a href="mailto:[email protected]" title="Contact us">Contact us</a></li><li><a href="https://github.com/ninenines/ninenines.github.io" title="Github repository">Contribute to this site</a></li> + </ul> + </nav> + </div> + <div class="span6 credits"> + <p><img src="/img/footer_logo.png"></p> + <p>Copyright © Loïc Hoguin 2012-2018</p> + </div> + </div> + </div> + </footer> + + + <script src="/js/custom.js"></script> + </body> +</html> + + diff --git a/docs/en/gun/1.0/manual/gun.await_body/index.html b/docs/en/gun/1.0/manual/gun.await_body/index.html new file mode 100644 index 00000000..56a94dbc --- /dev/null +++ b/docs/en/gun/1.0/manual/gun.await_body/index.html @@ -0,0 +1,260 @@ +<!DOCTYPE html> +<html lang="en"> + +<head> + <meta charset="utf-8"> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + <meta name="description" content=""> + <meta name="author" content="Loïc Hoguin based on a design from (Soft10) Pol Cámara"> + + <title>Nine Nines: gun:await_body(3)</title> + + <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic' rel='stylesheet' type='text/css'> + <link href="/css/99s.css?r=1" rel="stylesheet"> + + <link rel="shortcut icon" href="/img/ico/favicon.ico"> + <link rel="apple-touch-icon-precomposed" sizes="114x114" href="/img/ico/apple-touch-icon-114.png"> + <link rel="apple-touch-icon-precomposed" sizes="72x72" href="/img/ico/apple-touch-icon-72.png"> + <link rel="apple-touch-icon-precomposed" href="/img/ico/apple-touch-icon-57.png"> + + +</head> + + +<body class=""> + <header id="page-head"> + <div id="topbar" class="container"> + <div class="row"> + <div class="span2"> + <h1 id="logo"><a href="/" title="99s">99s</a></h1> + </div> + <div class="span10"> + + <div id="side-header"> + <nav> + <ul> + <li><a title="Hear my thoughts" href="/articles">Articles</a></li> + <li><a title="Watch my talks" href="/talks">Talks</a></li> + <li class="active"><a title="Read the docs" href="/docs">Documentation</a></li> + <li><a title="Request my services" href="/services">Consulting & Training</a></li> + </ul> + </nav> + <ul id="social"> + <li> + <a href="https://github.com/ninenines" title="Check my Github repositories"><img src="/img/ico_github.png" data-hover="/img/ico_github_alt.png" alt="Github"></a> + </li> + <li> + <a title="Contact me" href="mailto:[email protected]"><img src="/img/ico_mail.png" data-hover="/img/ico_mail_alt.png"></a> + </li> + </ul> + </div> + </div> + </div> + </div> + + +</header> + +<div id="contents" class="two_col"> +<div class="container"> +<div class="row"> +<div id="docs" class="span9 maincol"> + +<h1 class="lined-header"><span>gun:await_body(3)</span></h1> + +<div class="sect1"> +<h2 id="_name">Name</h2> +<div class="sectionbody"> +<div class="paragraph"><p>gun:await_body - Wait for the complete response body</p></div> +</div> +</div> +<div class="sect1"> +<h2 id="_description">Description</h2> +<div class="sectionbody"> +<div class="listingblock"> +<div class="content"><!-- Generator: GNU source-highlight +by Lorenzo Bettini +http://www.lorenzobettini.it +http://www.gnu.org/software/src-highlite --> +<pre><tt><span style="font-weight: bold"><span style="color: #000000">await_body</span></span>(<span style="color: #009900">ConnPid</span>, <span style="color: #009900">StreamRef</span>) + <span style="color: #990000">-></span> <span style="font-weight: bold"><span style="color: #000000">await_body</span></span>(<span style="color: #009900">ConnPid</span>, <span style="color: #009900">StreamRef</span>, <span style="color: #993399">5000</span>, <span style="color: #009900">MonitorRef</span>) + +<span style="font-weight: bold"><span style="color: #000000">await_body</span></span>(<span style="color: #009900">ConnPid</span>, <span style="color: #009900">StreamRef</span>, <span style="color: #009900">MonitorRef</span>) + <span style="color: #990000">-></span> <span style="font-weight: bold"><span style="color: #000000">await_body</span></span>(<span style="color: #009900">ConnPid</span>, <span style="color: #009900">StreamRef</span>, <span style="color: #993399">5000</span>, <span style="color: #009900">MonitorRef</span>) + +<span style="font-weight: bold"><span style="color: #000000">await_body</span></span>(<span style="color: #009900">ConnPid</span>, <span style="color: #009900">StreamRef</span>, <span style="color: #009900">Timeout</span>) + <span style="color: #990000">-></span> <span style="font-weight: bold"><span style="color: #000000">await_body</span></span>(<span style="color: #009900">ConnPid</span>, <span style="color: #009900">StreamRef</span>, <span style="color: #009900">Timeout</span>, <span style="color: #009900">MonitorRef</span>) + +<span style="font-weight: bold"><span style="color: #000000">await_body</span></span>(<span style="color: #009900">ConnPid</span>, <span style="color: #009900">StreamRef</span>, <span style="color: #009900">Timeout</span>, <span style="color: #009900">MonitorRef</span>) + <span style="color: #990000">-></span> {<span style="color: #FF6600">ok</span>, <span style="color: #009900">Body</span>} | {<span style="color: #FF6600">ok</span>, <span style="color: #009900">Body</span>, <span style="color: #009900">Trailers</span>} | {<span style="color: #FF6600">error</span>, <span style="color: #009900">Reason</span>} + +<span style="color: #009900">ConnPid</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">pid</span></span>() +<span style="color: #009900">StreamRef</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">reference</span></span>() +<span style="color: #009900">MonitorRef</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">reference</span></span>() +<span style="color: #009900">Timeout</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">timeout</span></span>() +<span style="color: #009900">Body</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">binary</span></span>() +<span style="color: #009900">Trailers</span> <span style="color: #990000">::</span> [{<span style="font-weight: bold"><span style="color: #000080">binary</span></span>(), <span style="font-weight: bold"><span style="color: #000080">binary</span></span>()}] +<span style="color: #009900">Reason</span> <span style="color: #990000">::</span> <span style="color: #FF6600">timeout</span> | <span style="font-weight: bold"><span style="color: #000000">any</span></span>()</tt></pre></div></div> +<div class="paragraph"><p>Wait for the complete response body.</p></div> +</div> +</div> +<div class="sect1"> +<h2 id="_arguments">Arguments</h2> +<div class="sectionbody"> +<div class="dlist"><dl> +<dt class="hdlist1"> +ConnPid +</dt> +<dd> +<p> +The pid of the Gun connection process. +</p> +</dd> +<dt class="hdlist1"> +StreamRef +</dt> +<dd> +<p> +Identifier of the stream for the original request. +</p> +</dd> +<dt class="hdlist1"> +Timeout +</dt> +<dd> +<p> +How long to wait for each message, in milliseconds. +</p> +</dd> +<dt class="hdlist1"> +MonitorRef +</dt> +<dd> +<p> +Monitor for the Gun connection process. +</p> +<div class="paragraph"><p>A monitor is automatically created for the duration of this +call when one is not provided.</p></div> +</dd> +</dl></div> +</div> +</div> +<div class="sect1"> +<h2 id="_return_value">Return value</h2> +<div class="sectionbody"> +<div class="paragraph"><p>The body is returned, possibly with trailers if the +request contained a <code>te: trailers</code> header. Error tuples +may also be returned when a timeout or an error occur.</p></div> +</div> +</div> +<div class="sect1"> +<h2 id="_changelog">Changelog</h2> +<div class="sectionbody"> +<div class="ulist"><ul> +<li> +<p> +<strong>1.0</strong>: Function introduced. +</p> +</li> +</ul></div> +</div> +</div> +<div class="sect1"> +<h2 id="_examples">Examples</h2> +<div class="sectionbody"> +<div class="listingblock"> +<div class="title">Wait for the complete response body</div> +<div class="content"><!-- Generator: GNU source-highlight +by Lorenzo Bettini +http://www.lorenzobettini.it +http://www.gnu.org/software/src-highlite --> +<pre><tt><span style="color: #009900">StreamRef</span> <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">gun:get</span></span>(<span style="color: #009900">ConnPid</span>, <span style="color: #FF0000">"/articles"</span>, [ + {<span style="color: #990000"><<</span><span style="color: #FF0000">"accept"</span><span style="color: #990000">>></span>, <span style="color: #990000"><<</span><span style="color: #FF0000">"text/html;q=1.0, application/xml;q=0.1"</span><span style="color: #990000">>></span>} +])<span style="color: #990000">.</span> +{<span style="color: #FF6600">response</span>, <span style="color: #FF6600">nofin</span>, <span style="color: #993399">200</span>, <span style="color: #009900">_Headers</span>} <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">gun:await</span></span>(<span style="color: #009900">ConnPid</span>, <span style="color: #009900">StreamRef</span>)<span style="color: #990000">.</span> +{<span style="color: #FF6600">ok</span>, <span style="color: #009900">_Body</span>} <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">gun:await_body</span></span>(<span style="color: #009900">ConnPid</span>, <span style="color: #009900">StreamRef</span>)<span style="color: #990000">.</span></tt></pre></div></div> +</div> +</div> +<div class="sect1"> +<h2 id="_see_also">See also</h2> +<div class="sectionbody"> +<div class="paragraph"><p><a href="../gun">gun(3)</a>, +<a href="../gun.get">gun:get(3)</a>, +<a href="../gun.head">gun:head(3)</a>, +<a href="../gun.options">gun:options(3)</a>, +<a href="../gun.patch">gun:patch(3)</a>, +<a href="../gun.post">gun:post(3)</a>, +<a href="../gun.put">gun:put(3)</a>, +<a href="../gun.delete">gun:delete(3)</a>, +<a href="../gun.request">gun:request(3)</a>, +<a href="../gun.await">gun:await(3)</a></p></div> +</div> +</div> + + + + + +</div> + +<div class="span3 sidecol"> + + +<h3> + Gun + 1.0 + Function Reference + +</h3> + +<ul> + + <li><a href="/docs/en/gun/1.0/guide">User Guide</a></li> + + + <li><a href="/docs/en/gun/1.0/manual">Function Reference</a></li> + + +</ul> + +<h4 id="docs-nav">Navigation</h4> + +<h4>Version select</h4> +<ul> + + + + <li><a href="/docs/en/gun/1.0/manual">1.0</a></li> + +</ul> + +</div> +</div> +</div> +</div> + + <footer> + <div class="container"> + <div class="row"> + <div class="span6"> + <p id="scroll-top"><a href="#">↑ Scroll to top</a></p> + <nav> + <ul> + <li><a href="mailto:[email protected]" title="Contact us">Contact us</a></li><li><a href="https://github.com/ninenines/ninenines.github.io" title="Github repository">Contribute to this site</a></li> + </ul> + </nav> + </div> + <div class="span6 credits"> + <p><img src="/img/footer_logo.png"></p> + <p>Copyright © Loïc Hoguin 2012-2018</p> + </div> + </div> + </div> + </footer> + + + <script src="/js/custom.js"></script> + </body> +</html> + + diff --git a/docs/en/gun/1.0/manual/gun.await_up/index.html b/docs/en/gun/1.0/manual/gun.await_up/index.html new file mode 100644 index 00000000..dc3eea5c --- /dev/null +++ b/docs/en/gun/1.0/manual/gun.await_up/index.html @@ -0,0 +1,241 @@ +<!DOCTYPE html> +<html lang="en"> + +<head> + <meta charset="utf-8"> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + <meta name="description" content=""> + <meta name="author" content="Loïc Hoguin based on a design from (Soft10) Pol Cámara"> + + <title>Nine Nines: gun:await_up(3)</title> + + <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic' rel='stylesheet' type='text/css'> + <link href="/css/99s.css?r=1" rel="stylesheet"> + + <link rel="shortcut icon" href="/img/ico/favicon.ico"> + <link rel="apple-touch-icon-precomposed" sizes="114x114" href="/img/ico/apple-touch-icon-114.png"> + <link rel="apple-touch-icon-precomposed" sizes="72x72" href="/img/ico/apple-touch-icon-72.png"> + <link rel="apple-touch-icon-precomposed" href="/img/ico/apple-touch-icon-57.png"> + + +</head> + + +<body class=""> + <header id="page-head"> + <div id="topbar" class="container"> + <div class="row"> + <div class="span2"> + <h1 id="logo"><a href="/" title="99s">99s</a></h1> + </div> + <div class="span10"> + + <div id="side-header"> + <nav> + <ul> + <li><a title="Hear my thoughts" href="/articles">Articles</a></li> + <li><a title="Watch my talks" href="/talks">Talks</a></li> + <li class="active"><a title="Read the docs" href="/docs">Documentation</a></li> + <li><a title="Request my services" href="/services">Consulting & Training</a></li> + </ul> + </nav> + <ul id="social"> + <li> + <a href="https://github.com/ninenines" title="Check my Github repositories"><img src="/img/ico_github.png" data-hover="/img/ico_github_alt.png" alt="Github"></a> + </li> + <li> + <a title="Contact me" href="mailto:[email protected]"><img src="/img/ico_mail.png" data-hover="/img/ico_mail_alt.png"></a> + </li> + </ul> + </div> + </div> + </div> + </div> + + +</header> + +<div id="contents" class="two_col"> +<div class="container"> +<div class="row"> +<div id="docs" class="span9 maincol"> + +<h1 class="lined-header"><span>gun:await_up(3)</span></h1> + +<div class="sect1"> +<h2 id="_name">Name</h2> +<div class="sectionbody"> +<div class="paragraph"><p>gun:await_up - Wait for the connection to be up</p></div> +</div> +</div> +<div class="sect1"> +<h2 id="_description">Description</h2> +<div class="sectionbody"> +<div class="listingblock"> +<div class="content"><!-- Generator: GNU source-highlight +by Lorenzo Bettini +http://www.lorenzobettini.it +http://www.gnu.org/software/src-highlite --> +<pre><tt><span style="font-weight: bold"><span style="color: #000000">await_up</span></span>(<span style="color: #009900">ConnPid</span>) + <span style="color: #990000">-></span> <span style="font-weight: bold"><span style="color: #000000">await_up</span></span>(<span style="color: #009900">ConnPid</span>, <span style="color: #993399">5000</span>, <span style="color: #009900">MonitorRef</span>) + +<span style="font-weight: bold"><span style="color: #000000">await_up</span></span>(<span style="color: #009900">ConnPid</span>, <span style="color: #009900">MonitorRef</span>) + <span style="color: #990000">-></span> <span style="font-weight: bold"><span style="color: #000000">await_up</span></span>(<span style="color: #009900">ConnPid</span>, <span style="color: #993399">5000</span>, <span style="color: #009900">MonitorRef</span>) + +<span style="font-weight: bold"><span style="color: #000000">await_up</span></span>(<span style="color: #009900">ConnPid</span>, <span style="color: #009900">Timeout</span>) + <span style="color: #990000">-></span> <span style="font-weight: bold"><span style="color: #000000">await_up</span></span>(<span style="color: #009900">ConnPid</span>, <span style="color: #009900">Timeout</span>, <span style="color: #009900">MonitorRef</span>) + +<span style="font-weight: bold"><span style="color: #000000">await_up</span></span>(<span style="color: #009900">ConnPid</span>, <span style="color: #009900">Timeout</span>, <span style="color: #009900">MonitorRef</span>) + <span style="color: #990000">-></span> {<span style="color: #FF6600">ok</span>, <span style="color: #009900">Protocol</span>} | {<span style="color: #FF6600">error</span>, <span style="color: #009900">Reason</span>} + +<span style="color: #009900">ConnPid</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">pid</span></span>() +<span style="color: #009900">MonitorRef</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">reference</span></span>() +<span style="color: #009900">Timeout</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">timeout</span></span>() +<span style="color: #009900">Protocol</span> <span style="color: #990000">::</span> <span style="color: #FF6600">http</span> | <span style="color: #FF6600">http2</span> +<span style="color: #009900">Reason</span> <span style="color: #990000">::</span> <span style="color: #FF6600">timeout</span> | <span style="font-weight: bold"><span style="color: #000000">any</span></span>()</tt></pre></div></div> +<div class="paragraph"><p>Wait for the connection to be up.</p></div> +</div> +</div> +<div class="sect1"> +<h2 id="_arguments">Arguments</h2> +<div class="sectionbody"> +<div class="dlist"><dl> +<dt class="hdlist1"> +ConnPid +</dt> +<dd> +<p> +The pid of the Gun connection process. +</p> +</dd> +<dt class="hdlist1"> +Timeout +</dt> +<dd> +<p> +How long to wait for, in milliseconds. +</p> +</dd> +<dt class="hdlist1"> +MonitorRef +</dt> +<dd> +<p> +Monitor for the Gun connection process. +</p> +<div class="paragraph"><p>A monitor is automatically created for the duration of this +call when one is not provided.</p></div> +</dd> +</dl></div> +</div> +</div> +<div class="sect1"> +<h2 id="_return_value">Return value</h2> +<div class="sectionbody"> +<div class="paragraph"><p>The protocol selected for this connection. It can be used +to determine the capabilities of the server. Error tuples +may also be returned when a timeout or an error occur.</p></div> +</div> +</div> +<div class="sect1"> +<h2 id="_changelog">Changelog</h2> +<div class="sectionbody"> +<div class="ulist"><ul> +<li> +<p> +<strong>1.0</strong>: Function introduced. +</p> +</li> +</ul></div> +</div> +</div> +<div class="sect1"> +<h2 id="_examples">Examples</h2> +<div class="sectionbody"> +<div class="listingblock"> +<div class="title">Wait for the connection to be up</div> +<div class="content"><!-- Generator: GNU source-highlight +by Lorenzo Bettini +http://www.lorenzobettini.it +http://www.gnu.org/software/src-highlite --> +<pre><tt>{<span style="color: #FF6600">ok</span>, <span style="color: #009900">ConnPid</span>} <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">gun:open</span></span>(<span style="color: #FF0000">"example.org"</span>, <span style="color: #993399">443</span>)<span style="color: #990000">.</span> +{<span style="color: #FF6600">ok</span>, <span style="color: #990000">_</span>} <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">gun:await_up</span></span>(<span style="color: #009900">ConnPid</span>)<span style="color: #990000">.</span></tt></pre></div></div> +</div> +</div> +<div class="sect1"> +<h2 id="_see_also">See also</h2> +<div class="sectionbody"> +<div class="paragraph"><p><a href="../gun">gun(3)</a>, +<a href="../gun.open">gun:open(3)</a>, +<a href="../gun.open_unix">gun:open_unix(3)</a>, +<a href="../gun_up">gun_up(3)</a></p></div> +</div> +</div> + + + + + +</div> + +<div class="span3 sidecol"> + + +<h3> + Gun + 1.0 + Function Reference + +</h3> + +<ul> + + <li><a href="/docs/en/gun/1.0/guide">User Guide</a></li> + + + <li><a href="/docs/en/gun/1.0/manual">Function Reference</a></li> + + +</ul> + +<h4 id="docs-nav">Navigation</h4> + +<h4>Version select</h4> +<ul> + + + + <li><a href="/docs/en/gun/1.0/manual">1.0</a></li> + +</ul> + +</div> +</div> +</div> +</div> + + <footer> + <div class="container"> + <div class="row"> + <div class="span6"> + <p id="scroll-top"><a href="#">↑ Scroll to top</a></p> + <nav> + <ul> + <li><a href="mailto:[email protected]" title="Contact us">Contact us</a></li><li><a href="https://github.com/ninenines/ninenines.github.io" title="Github repository">Contribute to this site</a></li> + </ul> + </nav> + </div> + <div class="span6 credits"> + <p><img src="/img/footer_logo.png"></p> + <p>Copyright © Loïc Hoguin 2012-2018</p> + </div> + </div> + </div> + </footer> + + + <script src="/js/custom.js"></script> + </body> +</html> + + diff --git a/docs/en/gun/1.0/manual/gun.cancel/index.html b/docs/en/gun/1.0/manual/gun.cancel/index.html new file mode 100644 index 00000000..ea356f54 --- /dev/null +++ b/docs/en/gun/1.0/manual/gun.cancel/index.html @@ -0,0 +1,229 @@ +<!DOCTYPE html> +<html lang="en"> + +<head> + <meta charset="utf-8"> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + <meta name="description" content=""> + <meta name="author" content="Loïc Hoguin based on a design from (Soft10) Pol Cámara"> + + <title>Nine Nines: gun:cancel(3)</title> + + <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic' rel='stylesheet' type='text/css'> + <link href="/css/99s.css?r=1" rel="stylesheet"> + + <link rel="shortcut icon" href="/img/ico/favicon.ico"> + <link rel="apple-touch-icon-precomposed" sizes="114x114" href="/img/ico/apple-touch-icon-114.png"> + <link rel="apple-touch-icon-precomposed" sizes="72x72" href="/img/ico/apple-touch-icon-72.png"> + <link rel="apple-touch-icon-precomposed" href="/img/ico/apple-touch-icon-57.png"> + + +</head> + + +<body class=""> + <header id="page-head"> + <div id="topbar" class="container"> + <div class="row"> + <div class="span2"> + <h1 id="logo"><a href="/" title="99s">99s</a></h1> + </div> + <div class="span10"> + + <div id="side-header"> + <nav> + <ul> + <li><a title="Hear my thoughts" href="/articles">Articles</a></li> + <li><a title="Watch my talks" href="/talks">Talks</a></li> + <li class="active"><a title="Read the docs" href="/docs">Documentation</a></li> + <li><a title="Request my services" href="/services">Consulting & Training</a></li> + </ul> + </nav> + <ul id="social"> + <li> + <a href="https://github.com/ninenines" title="Check my Github repositories"><img src="/img/ico_github.png" data-hover="/img/ico_github_alt.png" alt="Github"></a> + </li> + <li> + <a title="Contact me" href="mailto:[email protected]"><img src="/img/ico_mail.png" data-hover="/img/ico_mail_alt.png"></a> + </li> + </ul> + </div> + </div> + </div> + </div> + + +</header> + +<div id="contents" class="two_col"> +<div class="container"> +<div class="row"> +<div id="docs" class="span9 maincol"> + +<h1 class="lined-header"><span>gun:cancel(3)</span></h1> + +<div class="sect1"> +<h2 id="_name">Name</h2> +<div class="sectionbody"> +<div class="paragraph"><p>gun:cancel - Cancel the given stream</p></div> +</div> +</div> +<div class="sect1"> +<h2 id="_description">Description</h2> +<div class="sectionbody"> +<div class="listingblock"> +<div class="content"><!-- Generator: GNU source-highlight +by Lorenzo Bettini +http://www.lorenzobettini.it +http://www.gnu.org/software/src-highlite --> +<pre><tt><span style="font-weight: bold"><span style="color: #000000">cancel</span></span>(<span style="color: #009900">ConnPid</span>, <span style="color: #009900">StreamRef</span>) <span style="color: #990000">-></span> <span style="color: #FF6600">ok</span> + +<span style="color: #009900">ConnPid</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">pid</span></span>() +<span style="color: #009900">StreamRef</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">reference</span></span>()</tt></pre></div></div> +<div class="paragraph"><p>Cancel the given stream.</p></div> +<div class="paragraph"><p>The behavior of this function depends on the protocol +selected.</p></div> +<div class="paragraph"><p>HTTP/1.1 does not support this feature. Gun will simply +silence the stream and stop relaying messages. Gun may +also decide to close the connection if the response body +is too large, to avoid wasting time and bandwidth.</p></div> +<div class="paragraph"><p>HTTP/2 allows cancelling streams at any time.</p></div> +<div class="paragraph"><p>This function is asynchronous. Messages related to this +stream may still be sent after the function returns.</p></div> +</div> +</div> +<div class="sect1"> +<h2 id="_arguments">Arguments</h2> +<div class="sectionbody"> +<div class="dlist"><dl> +<dt class="hdlist1"> +ConnPid +</dt> +<dd> +<p> +The pid of the Gun connection process. +</p> +</dd> +<dt class="hdlist1"> +StreamRef +</dt> +<dd> +<p> +Identifier of the stream for the original request. +</p> +</dd> +</dl></div> +</div> +</div> +<div class="sect1"> +<h2 id="_return_value">Return value</h2> +<div class="sectionbody"> +<div class="paragraph"><p>The atom <code>ok</code> is returned.</p></div> +</div> +</div> +<div class="sect1"> +<h2 id="_changelog">Changelog</h2> +<div class="sectionbody"> +<div class="ulist"><ul> +<li> +<p> +<strong>1.0</strong>: Function introduced. +</p> +</li> +</ul></div> +</div> +</div> +<div class="sect1"> +<h2 id="_examples">Examples</h2> +<div class="sectionbody"> +<div class="listingblock"> +<div class="title">Cancel a stream</div> +<div class="content"><!-- Generator: GNU source-highlight +by Lorenzo Bettini +http://www.lorenzobettini.it +http://www.gnu.org/software/src-highlite --> +<pre><tt><span style="font-weight: bold"><span style="color: #000000">gun:cancel</span></span>(<span style="color: #009900">ConnPid</span>, <span style="color: #009900">StreamRef</span>)<span style="color: #990000">.</span></tt></pre></div></div> +</div> +</div> +<div class="sect1"> +<h2 id="_see_also">See also</h2> +<div class="sectionbody"> +<div class="paragraph"><p><a href="../gun">gun(3)</a>, +<a href="../gun.get">gun:get(3)</a>, +<a href="../gun.head">gun:head(3)</a>, +<a href="../gun.options">gun:options(3)</a>, +<a href="../gun.patch">gun:patch(3)</a>, +<a href="../gun.post">gun:post(3)</a>, +<a href="../gun.put">gun:put(3)</a>, +<a href="../gun.delete">gun:delete(3)</a>, +<a href="../gun.request">gun:request(3)</a></p></div> +</div> +</div> + + + + + +</div> + +<div class="span3 sidecol"> + + +<h3> + Gun + 1.0 + Function Reference + +</h3> + +<ul> + + <li><a href="/docs/en/gun/1.0/guide">User Guide</a></li> + + + <li><a href="/docs/en/gun/1.0/manual">Function Reference</a></li> + + +</ul> + +<h4 id="docs-nav">Navigation</h4> + +<h4>Version select</h4> +<ul> + + + + <li><a href="/docs/en/gun/1.0/manual">1.0</a></li> + +</ul> + +</div> +</div> +</div> +</div> + + <footer> + <div class="container"> + <div class="row"> + <div class="span6"> + <p id="scroll-top"><a href="#">↑ Scroll to top</a></p> + <nav> + <ul> + <li><a href="mailto:[email protected]" title="Contact us">Contact us</a></li><li><a href="https://github.com/ninenines/ninenines.github.io" title="Github repository">Contribute to this site</a></li> + </ul> + </nav> + </div> + <div class="span6 credits"> + <p><img src="/img/footer_logo.png"></p> + <p>Copyright © Loïc Hoguin 2012-2018</p> + </div> + </div> + </div> + </footer> + + + <script src="/js/custom.js"></script> + </body> +</html> + + diff --git a/docs/en/gun/1.0/manual/gun.close/index.html b/docs/en/gun/1.0/manual/gun.close/index.html new file mode 100644 index 00000000..ab536f8d --- /dev/null +++ b/docs/en/gun/1.0/manual/gun.close/index.html @@ -0,0 +1,205 @@ +<!DOCTYPE html> +<html lang="en"> + +<head> + <meta charset="utf-8"> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + <meta name="description" content=""> + <meta name="author" content="Loïc Hoguin based on a design from (Soft10) Pol Cámara"> + + <title>Nine Nines: gun:close(3)</title> + + <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic' rel='stylesheet' type='text/css'> + <link href="/css/99s.css?r=1" rel="stylesheet"> + + <link rel="shortcut icon" href="/img/ico/favicon.ico"> + <link rel="apple-touch-icon-precomposed" sizes="114x114" href="/img/ico/apple-touch-icon-114.png"> + <link rel="apple-touch-icon-precomposed" sizes="72x72" href="/img/ico/apple-touch-icon-72.png"> + <link rel="apple-touch-icon-precomposed" href="/img/ico/apple-touch-icon-57.png"> + + +</head> + + +<body class=""> + <header id="page-head"> + <div id="topbar" class="container"> + <div class="row"> + <div class="span2"> + <h1 id="logo"><a href="/" title="99s">99s</a></h1> + </div> + <div class="span10"> + + <div id="side-header"> + <nav> + <ul> + <li><a title="Hear my thoughts" href="/articles">Articles</a></li> + <li><a title="Watch my talks" href="/talks">Talks</a></li> + <li class="active"><a title="Read the docs" href="/docs">Documentation</a></li> + <li><a title="Request my services" href="/services">Consulting & Training</a></li> + </ul> + </nav> + <ul id="social"> + <li> + <a href="https://github.com/ninenines" title="Check my Github repositories"><img src="/img/ico_github.png" data-hover="/img/ico_github_alt.png" alt="Github"></a> + </li> + <li> + <a title="Contact me" href="mailto:[email protected]"><img src="/img/ico_mail.png" data-hover="/img/ico_mail_alt.png"></a> + </li> + </ul> + </div> + </div> + </div> + </div> + + +</header> + +<div id="contents" class="two_col"> +<div class="container"> +<div class="row"> +<div id="docs" class="span9 maincol"> + +<h1 class="lined-header"><span>gun:close(3)</span></h1> + +<div class="sect1"> +<h2 id="_name">Name</h2> +<div class="sectionbody"> +<div class="paragraph"><p>gun:close - Brutally close the connection</p></div> +</div> +</div> +<div class="sect1"> +<h2 id="_description">Description</h2> +<div class="sectionbody"> +<div class="listingblock"> +<div class="content"><!-- Generator: GNU source-highlight +by Lorenzo Bettini +http://www.lorenzobettini.it +http://www.gnu.org/software/src-highlite --> +<pre><tt><span style="font-weight: bold"><span style="color: #000000">close</span></span>(<span style="color: #009900">ConnPid</span>) <span style="color: #990000">-></span> <span style="color: #FF6600">ok</span> + +<span style="color: #009900">ConnPid</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">pid</span></span>()</tt></pre></div></div> +<div class="paragraph"><p>Brutally close the connection.</p></div> +</div> +</div> +<div class="sect1"> +<h2 id="_arguments">Arguments</h2> +<div class="sectionbody"> +<div class="dlist"><dl> +<dt class="hdlist1"> +ConnPid +</dt> +<dd> +<p> +The pid of the Gun connection process. +</p> +</dd> +</dl></div> +</div> +</div> +<div class="sect1"> +<h2 id="_return_value">Return value</h2> +<div class="sectionbody"> +<div class="paragraph"><p>The atom <code>ok</code> is returned.</p></div> +</div> +</div> +<div class="sect1"> +<h2 id="_changelog">Changelog</h2> +<div class="sectionbody"> +<div class="ulist"><ul> +<li> +<p> +<strong>1.0</strong>: Function introduced. +</p> +</li> +</ul></div> +</div> +</div> +<div class="sect1"> +<h2 id="_examples">Examples</h2> +<div class="sectionbody"> +<div class="listingblock"> +<div class="title">Close the connection</div> +<div class="content"><!-- Generator: GNU source-highlight +by Lorenzo Bettini +http://www.lorenzobettini.it +http://www.gnu.org/software/src-highlite --> +<pre><tt><span style="color: #0000FF">ok</span> <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">gun:close</span></span>(<span style="color: #009900">ConnPid</span>)<span style="color: #990000">.</span></tt></pre></div></div> +</div> +</div> +<div class="sect1"> +<h2 id="_see_also">See also</h2> +<div class="sectionbody"> +<div class="paragraph"><p><a href="../gun">gun(3)</a>, +<a href="../gun.open">gun:open(3)</a>, +<a href="../gun.open_unix">gun:open_unix(3)</a></p></div> +</div> +</div> + + + + + +</div> + +<div class="span3 sidecol"> + + +<h3> + Gun + 1.0 + Function Reference + +</h3> + +<ul> + + <li><a href="/docs/en/gun/1.0/guide">User Guide</a></li> + + + <li><a href="/docs/en/gun/1.0/manual">Function Reference</a></li> + + +</ul> + +<h4 id="docs-nav">Navigation</h4> + +<h4>Version select</h4> +<ul> + + + + <li><a href="/docs/en/gun/1.0/manual">1.0</a></li> + +</ul> + +</div> +</div> +</div> +</div> + + <footer> + <div class="container"> + <div class="row"> + <div class="span6"> + <p id="scroll-top"><a href="#">↑ Scroll to top</a></p> + <nav> + <ul> + <li><a href="mailto:[email protected]" title="Contact us">Contact us</a></li><li><a href="https://github.com/ninenines/ninenines.github.io" title="Github repository">Contribute to this site</a></li> + </ul> + </nav> + </div> + <div class="span6 credits"> + <p><img src="/img/footer_logo.png"></p> + <p>Copyright © Loïc Hoguin 2012-2018</p> + </div> + </div> + </div> + </footer> + + + <script src="/js/custom.js"></script> + </body> +</html> + + diff --git a/docs/en/gun/1.0/manual/gun.data/index.html b/docs/en/gun/1.0/manual/gun.data/index.html new file mode 100644 index 00000000..8382616e --- /dev/null +++ b/docs/en/gun/1.0/manual/gun.data/index.html @@ -0,0 +1,245 @@ +<!DOCTYPE html> +<html lang="en"> + +<head> + <meta charset="utf-8"> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + <meta name="description" content=""> + <meta name="author" content="Loïc Hoguin based on a design from (Soft10) Pol Cámara"> + + <title>Nine Nines: gun:data(3)</title> + + <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic' rel='stylesheet' type='text/css'> + <link href="/css/99s.css?r=1" rel="stylesheet"> + + <link rel="shortcut icon" href="/img/ico/favicon.ico"> + <link rel="apple-touch-icon-precomposed" sizes="114x114" href="/img/ico/apple-touch-icon-114.png"> + <link rel="apple-touch-icon-precomposed" sizes="72x72" href="/img/ico/apple-touch-icon-72.png"> + <link rel="apple-touch-icon-precomposed" href="/img/ico/apple-touch-icon-57.png"> + + +</head> + + +<body class=""> + <header id="page-head"> + <div id="topbar" class="container"> + <div class="row"> + <div class="span2"> + <h1 id="logo"><a href="/" title="99s">99s</a></h1> + </div> + <div class="span10"> + + <div id="side-header"> + <nav> + <ul> + <li><a title="Hear my thoughts" href="/articles">Articles</a></li> + <li><a title="Watch my talks" href="/talks">Talks</a></li> + <li class="active"><a title="Read the docs" href="/docs">Documentation</a></li> + <li><a title="Request my services" href="/services">Consulting & Training</a></li> + </ul> + </nav> + <ul id="social"> + <li> + <a href="https://github.com/ninenines" title="Check my Github repositories"><img src="/img/ico_github.png" data-hover="/img/ico_github_alt.png" alt="Github"></a> + </li> + <li> + <a title="Contact me" href="mailto:[email protected]"><img src="/img/ico_mail.png" data-hover="/img/ico_mail_alt.png"></a> + </li> + </ul> + </div> + </div> + </div> + </div> + + +</header> + +<div id="contents" class="two_col"> +<div class="container"> +<div class="row"> +<div id="docs" class="span9 maincol"> + +<h1 class="lined-header"><span>gun:data(3)</span></h1> + +<div class="sect1"> +<h2 id="_name">Name</h2> +<div class="sectionbody"> +<div class="paragraph"><p>gun:data - Stream the body of a request</p></div> +</div> +</div> +<div class="sect1"> +<h2 id="_description">Description</h2> +<div class="sectionbody"> +<div class="listingblock"> +<div class="content"><!-- Generator: GNU source-highlight +by Lorenzo Bettini +http://www.lorenzobettini.it +http://www.gnu.org/software/src-highlite --> +<pre><tt><span style="font-weight: bold"><span style="color: #000000">data</span></span>(<span style="color: #009900">ConnPid</span>, <span style="color: #009900">StreamRef</span>, <span style="color: #009900">IsFin</span>, <span style="color: #009900">Data</span>) <span style="color: #990000">-></span> <span style="color: #FF6600">ok</span> + +<span style="color: #009900">ConnPid</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">pid</span></span>() +<span style="color: #009900">StreamRef</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">reference</span></span>() +<span style="color: #009900">IsFin</span> <span style="color: #990000">::</span> <span style="color: #FF6600">fin</span> | <span style="color: #FF6600">nofin</span> +<span style="color: #009900">Data</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">iodata</span></span>()</tt></pre></div></div> +<div class="paragraph"><p>Stream the body of a request.</p></div> +<div class="paragraph"><p>This function can only be used if the original request +had headers indicating that a body would be streamed.</p></div> +<div class="paragraph"><p>All calls to this function must use the <code>nofin</code> flag +except for the last which must use <code>fin</code> to indicate +the end of the request body.</p></div> +<div class="paragraph"><p>Empty data is allowed regardless of the value of <code>IsFin</code>. +Gun may or may not send empty data chunks, however.</p></div> +</div> +</div> +<div class="sect1"> +<h2 id="_arguments">Arguments</h2> +<div class="sectionbody"> +<div class="dlist"><dl> +<dt class="hdlist1"> +ConnPid +</dt> +<dd> +<p> +The pid of the Gun connection process. +</p> +</dd> +<dt class="hdlist1"> +StreamRef +</dt> +<dd> +<p> +Identifier of the stream for the original request. +</p> +</dd> +<dt class="hdlist1"> +IsFin +</dt> +<dd> +<p> +Whether this message terminates the request. +</p> +</dd> +<dt class="hdlist1"> +Data +</dt> +<dd> +<p> +All or part of the response body. +</p> +</dd> +</dl></div> +</div> +</div> +<div class="sect1"> +<h2 id="_return_value">Return value</h2> +<div class="sectionbody"> +<div class="paragraph"><p>The atom <code>ok</code> is returned.</p></div> +</div> +</div> +<div class="sect1"> +<h2 id="_changelog">Changelog</h2> +<div class="sectionbody"> +<div class="ulist"><ul> +<li> +<p> +<strong>1.0</strong>: Function introduced. +</p> +</li> +</ul></div> +</div> +</div> +<div class="sect1"> +<h2 id="_examples">Examples</h2> +<div class="sectionbody"> +<div class="listingblock"> +<div class="title">Stream the body of a request</div> +<div class="content"><!-- Generator: GNU source-highlight +by Lorenzo Bettini +http://www.lorenzobettini.it +http://www.gnu.org/software/src-highlite --> +<pre><tt><span style="color: #009900">StreamRef</span> <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">gun:put</span></span>(<span style="color: #009900">ConnPid</span>, <span style="color: #FF0000">"/lang/fr_FR/hello"</span>, [ + {<span style="color: #990000"><<</span><span style="color: #FF0000">"content-type"</span><span style="color: #990000">>></span>, <span style="color: #990000"><<</span><span style="color: #FF0000">"text/plain"</span><span style="color: #990000">>></span>} +])<span style="color: #990000">.</span> +<span style="font-weight: bold"><span style="color: #000000">gun:data</span></span>(<span style="color: #009900">ConnPid</span>, <span style="color: #009900">StreamRef</span>, <span style="color: #FF6600">nofin</span>, <span style="color: #990000"><<</span><span style="color: #FF0000">"Bonjour !\n"</span><span style="color: #990000">>></span>)<span style="color: #990000">.</span> +<span style="font-weight: bold"><span style="color: #000000">gun:data</span></span>(<span style="color: #009900">ConnPid</span>, <span style="color: #009900">StreamRef</span>, <span style="color: #FF6600">fin</span>, <span style="color: #990000"><<</span><span style="color: #FF0000">"Bonsoir !\n"</span><span style="color: #990000">>></span>)<span style="color: #990000">.</span></tt></pre></div></div> +</div> +</div> +<div class="sect1"> +<h2 id="_see_also">See also</h2> +<div class="sectionbody"> +<div class="paragraph"><p><a href="../gun">gun(3)</a>, +<a href="../gun.patch">gun:patch(3)</a>, +<a href="../gun.post">gun:post(3)</a>, +<a href="../gun.put">gun:put(3)</a>, +<a href="../gun.request">gun:request(3)</a></p></div> +</div> +</div> + + + + + +</div> + +<div class="span3 sidecol"> + + +<h3> + Gun + 1.0 + Function Reference + +</h3> + +<ul> + + <li><a href="/docs/en/gun/1.0/guide">User Guide</a></li> + + + <li><a href="/docs/en/gun/1.0/manual">Function Reference</a></li> + + +</ul> + +<h4 id="docs-nav">Navigation</h4> + +<h4>Version select</h4> +<ul> + + + + <li><a href="/docs/en/gun/1.0/manual">1.0</a></li> + +</ul> + +</div> +</div> +</div> +</div> + + <footer> + <div class="container"> + <div class="row"> + <div class="span6"> + <p id="scroll-top"><a href="#">↑ Scroll to top</a></p> + <nav> + <ul> + <li><a href="mailto:[email protected]" title="Contact us">Contact us</a></li><li><a href="https://github.com/ninenines/ninenines.github.io" title="Github repository">Contribute to this site</a></li> + </ul> + </nav> + </div> + <div class="span6 credits"> + <p><img src="/img/footer_logo.png"></p> + <p>Copyright © Loïc Hoguin 2012-2018</p> + </div> + </div> + </div> + </footer> + + + <script src="/js/custom.js"></script> + </body> +</html> + + diff --git a/docs/en/gun/1.0/manual/gun.delete/index.html b/docs/en/gun/1.0/manual/gun.delete/index.html new file mode 100644 index 00000000..62c25d81 --- /dev/null +++ b/docs/en/gun/1.0/manual/gun.delete/index.html @@ -0,0 +1,256 @@ +<!DOCTYPE html> +<html lang="en"> + +<head> + <meta charset="utf-8"> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + <meta name="description" content=""> + <meta name="author" content="Loïc Hoguin based on a design from (Soft10) Pol Cámara"> + + <title>Nine Nines: gun:delete(3)</title> + + <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic' rel='stylesheet' type='text/css'> + <link href="/css/99s.css?r=1" rel="stylesheet"> + + <link rel="shortcut icon" href="/img/ico/favicon.ico"> + <link rel="apple-touch-icon-precomposed" sizes="114x114" href="/img/ico/apple-touch-icon-114.png"> + <link rel="apple-touch-icon-precomposed" sizes="72x72" href="/img/ico/apple-touch-icon-72.png"> + <link rel="apple-touch-icon-precomposed" href="/img/ico/apple-touch-icon-57.png"> + + +</head> + + +<body class=""> + <header id="page-head"> + <div id="topbar" class="container"> + <div class="row"> + <div class="span2"> + <h1 id="logo"><a href="/" title="99s">99s</a></h1> + </div> + <div class="span10"> + + <div id="side-header"> + <nav> + <ul> + <li><a title="Hear my thoughts" href="/articles">Articles</a></li> + <li><a title="Watch my talks" href="/talks">Talks</a></li> + <li class="active"><a title="Read the docs" href="/docs">Documentation</a></li> + <li><a title="Request my services" href="/services">Consulting & Training</a></li> + </ul> + </nav> + <ul id="social"> + <li> + <a href="https://github.com/ninenines" title="Check my Github repositories"><img src="/img/ico_github.png" data-hover="/img/ico_github_alt.png" alt="Github"></a> + </li> + <li> + <a title="Contact me" href="mailto:[email protected]"><img src="/img/ico_mail.png" data-hover="/img/ico_mail_alt.png"></a> + </li> + </ul> + </div> + </div> + </div> + </div> + + +</header> + +<div id="contents" class="two_col"> +<div class="container"> +<div class="row"> +<div id="docs" class="span9 maincol"> + +<h1 class="lined-header"><span>gun:delete(3)</span></h1> + +<div class="sect1"> +<h2 id="_name">Name</h2> +<div class="sectionbody"> +<div class="paragraph"><p>gun:delete - Delete a resource</p></div> +</div> +</div> +<div class="sect1"> +<h2 id="_description">Description</h2> +<div class="sectionbody"> +<div class="listingblock"> +<div class="content"><!-- Generator: GNU source-highlight +by Lorenzo Bettini +http://www.lorenzobettini.it +http://www.gnu.org/software/src-highlite --> +<pre><tt><span style="font-weight: bold"><span style="color: #000000">delete</span></span>(<span style="color: #009900">ConnPid</span>, <span style="color: #009900">Path</span>) + <span style="color: #990000">-></span> <span style="font-weight: bold"><span style="color: #000000">delete</span></span>(<span style="color: #009900">ConnPid</span>, <span style="color: #009900">Path</span>, [], #{})<span style="color: #990000">.</span> + +<span style="font-weight: bold"><span style="color: #000000">delete</span></span>(<span style="color: #009900">ConnPid</span>, <span style="color: #009900">Path</span>, <span style="color: #009900">Headers</span>) + <span style="color: #990000">-></span> <span style="font-weight: bold"><span style="color: #000000">delete</span></span>(<span style="color: #009900">ConnPid</span>, <span style="color: #009900">Path</span>, <span style="color: #009900">Headers</span>, #{}) + +<span style="font-weight: bold"><span style="color: #000000">delete</span></span>(<span style="color: #009900">ConnPid</span>, <span style="color: #009900">Path</span>, <span style="color: #009900">Headers</span>, <span style="color: #009900">ReqOpts</span>) + <span style="color: #990000">-></span> <span style="color: #009900">StreamRef</span> + +<span style="color: #009900">ConnPid</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">pid</span></span>() +<span style="color: #009900">Path</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">iodata</span></span>() +<span style="color: #009900">Headers</span> <span style="color: #990000">::</span> [{<span style="font-weight: bold"><span style="color: #000080">binary</span></span>(), <span style="font-weight: bold"><span style="color: #000000">iodata</span></span>()}] +<span style="color: #009900">ReqOpts</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">gun:req_opts</span></span>() +<span style="color: #009900">StreamRef</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">reference</span></span>()</tt></pre></div></div> +<div class="paragraph"><p>Delete a resource.</p></div> +</div> +</div> +<div class="sect1"> +<h2 id="_arguments">Arguments</h2> +<div class="sectionbody"> +<div class="dlist"><dl> +<dt class="hdlist1"> +ConnPid +</dt> +<dd> +<p> +The pid of the Gun connection process. +</p> +</dd> +<dt class="hdlist1"> +Path +</dt> +<dd> +<p> +Path to the resource. +</p> +</dd> +<dt class="hdlist1"> +Headers +</dt> +<dd> +<p> +Additional request headers. +</p> +</dd> +<dt class="hdlist1"> +ReqOpts +</dt> +<dd> +<p> +Request options. +</p> +</dd> +</dl></div> +</div> +</div> +<div class="sect1"> +<h2 id="_return_value">Return value</h2> +<div class="sectionbody"> +<div class="paragraph"><p>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.</p></div> +</div> +</div> +<div class="sect1"> +<h2 id="_changelog">Changelog</h2> +<div class="sectionbody"> +<div class="ulist"><ul> +<li> +<p> +<strong>1.0</strong>: Function introduced. +</p> +</li> +</ul></div> +</div> +</div> +<div class="sect1"> +<h2 id="_examples">Examples</h2> +<div class="sectionbody"> +<div class="listingblock"> +<div class="title">Delete a resource</div> +<div class="content"><!-- Generator: GNU source-highlight +by Lorenzo Bettini +http://www.lorenzobettini.it +http://www.gnu.org/software/src-highlite --> +<pre><tt><span style="color: #009900">StreamRef</span> <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">gun:delete</span></span>(<span style="color: #009900">ConnPid</span>, <span style="color: #FF0000">"/drafts/123"</span>)<span style="color: #990000">.</span></tt></pre></div></div> +<div class="listingblock"> +<div class="title">Delete a resource with request options</div> +<div class="content"><!-- Generator: GNU source-highlight +by Lorenzo Bettini +http://www.lorenzobettini.it +http://www.gnu.org/software/src-highlite --> +<pre><tt><span style="color: #009900">StreamRef</span> <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">gun:delete</span></span>(<span style="color: #009900">ConnPid</span>, <span style="color: #FF0000">"/drafts/123"</span>, [], + #{<span style="color: #0000FF">reply_to</span> <span style="color: #990000">=></span> <span style="color: #009900">ReplyToPid</span>})<span style="color: #990000">.</span></tt></pre></div></div> +</div> +</div> +<div class="sect1"> +<h2 id="_see_also">See also</h2> +<div class="sectionbody"> +<div class="paragraph"><p><a href="../gun">gun(3)</a>, +<a href="../gun.put">gun:put(3)</a>, +<a href="../gun.await">gun:await(3)</a>, +<a href="../gun.await_body">gun:await_body(3)</a>, +<a href="../gun_push">gun_push(3)</a>, +<a href="../gun_inform">gun_inform(3)</a>, +<a href="../gun_response">gun_response(3)</a>, +<a href="../gun_data">gun_data(3)</a></p></div> +</div> +</div> + + + + + +</div> + +<div class="span3 sidecol"> + + +<h3> + Gun + 1.0 + Function Reference + +</h3> + +<ul> + + <li><a href="/docs/en/gun/1.0/guide">User Guide</a></li> + + + <li><a href="/docs/en/gun/1.0/manual">Function Reference</a></li> + + +</ul> + +<h4 id="docs-nav">Navigation</h4> + +<h4>Version select</h4> +<ul> + + + + <li><a href="/docs/en/gun/1.0/manual">1.0</a></li> + +</ul> + +</div> +</div> +</div> +</div> + + <footer> + <div class="container"> + <div class="row"> + <div class="span6"> + <p id="scroll-top"><a href="#">↑ Scroll to top</a></p> + <nav> + <ul> + <li><a href="mailto:[email protected]" title="Contact us">Contact us</a></li><li><a href="https://github.com/ninenines/ninenines.github.io" title="Github repository">Contribute to this site</a></li> + </ul> + </nav> + </div> + <div class="span6 credits"> + <p><img src="/img/footer_logo.png"></p> + <p>Copyright © Loïc Hoguin 2012-2018</p> + </div> + </div> + </div> + </footer> + + + <script src="/js/custom.js"></script> + </body> +</html> + + diff --git a/docs/en/gun/1.0/manual/gun.flush/index.html b/docs/en/gun/1.0/manual/gun.flush/index.html new file mode 100644 index 00000000..13263727 --- /dev/null +++ b/docs/en/gun/1.0/manual/gun.flush/index.html @@ -0,0 +1,224 @@ +<!DOCTYPE html> +<html lang="en"> + +<head> + <meta charset="utf-8"> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + <meta name="description" content=""> + <meta name="author" content="Loïc Hoguin based on a design from (Soft10) Pol Cámara"> + + <title>Nine Nines: gun:flush(3)</title> + + <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic' rel='stylesheet' type='text/css'> + <link href="/css/99s.css?r=1" rel="stylesheet"> + + <link rel="shortcut icon" href="/img/ico/favicon.ico"> + <link rel="apple-touch-icon-precomposed" sizes="114x114" href="/img/ico/apple-touch-icon-114.png"> + <link rel="apple-touch-icon-precomposed" sizes="72x72" href="/img/ico/apple-touch-icon-72.png"> + <link rel="apple-touch-icon-precomposed" href="/img/ico/apple-touch-icon-57.png"> + + +</head> + + +<body class=""> + <header id="page-head"> + <div id="topbar" class="container"> + <div class="row"> + <div class="span2"> + <h1 id="logo"><a href="/" title="99s">99s</a></h1> + </div> + <div class="span10"> + + <div id="side-header"> + <nav> + <ul> + <li><a title="Hear my thoughts" href="/articles">Articles</a></li> + <li><a title="Watch my talks" href="/talks">Talks</a></li> + <li class="active"><a title="Read the docs" href="/docs">Documentation</a></li> + <li><a title="Request my services" href="/services">Consulting & Training</a></li> + </ul> + </nav> + <ul id="social"> + <li> + <a href="https://github.com/ninenines" title="Check my Github repositories"><img src="/img/ico_github.png" data-hover="/img/ico_github_alt.png" alt="Github"></a> + </li> + <li> + <a title="Contact me" href="mailto:[email protected]"><img src="/img/ico_mail.png" data-hover="/img/ico_mail_alt.png"></a> + </li> + </ul> + </div> + </div> + </div> + </div> + + +</header> + +<div id="contents" class="two_col"> +<div class="container"> +<div class="row"> +<div id="docs" class="span9 maincol"> + +<h1 class="lined-header"><span>gun:flush(3)</span></h1> + +<div class="sect1"> +<h2 id="_name">Name</h2> +<div class="sectionbody"> +<div class="paragraph"><p>gun:flush - Flush all messages related to a connection or a stream</p></div> +</div> +</div> +<div class="sect1"> +<h2 id="_description">Description</h2> +<div class="sectionbody"> +<div class="listingblock"> +<div class="content"><!-- Generator: GNU source-highlight +by Lorenzo Bettini +http://www.lorenzobettini.it +http://www.gnu.org/software/src-highlite --> +<pre><tt><span style="font-weight: bold"><span style="color: #000000">flush</span></span>(<span style="color: #009900">ConnPid</span>) <span style="color: #990000">-></span> <span style="color: #FF6600">ok</span> +<span style="font-weight: bold"><span style="color: #000000">flush</span></span>(<span style="color: #009900">StreamRef</span>) <span style="color: #990000">-></span> <span style="color: #FF6600">ok</span> + +<span style="color: #009900">ConnPid</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">pid</span></span>() +<span style="color: #009900">StreamRef</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">reference</span></span>()</tt></pre></div></div> +<div class="paragraph"><p>Flush all messages related to a connection or a stream.</p></div> +</div> +</div> +<div class="sect1"> +<h2 id="_arguments">Arguments</h2> +<div class="sectionbody"> +<div class="paragraph"><p>Either of these arguments may be provided:</p></div> +<div class="dlist"><dl> +<dt class="hdlist1"> +ConnPid +</dt> +<dd> +<p> +The pid of the Gun connection process. +</p> +</dd> +<dt class="hdlist1"> +StreamRef +</dt> +<dd> +<p> +Identifier of the stream for the original request. +</p> +</dd> +</dl></div> +</div> +</div> +<div class="sect1"> +<h2 id="_return_value">Return value</h2> +<div class="sectionbody"> +<div class="paragraph"><p>The atom <code>ok</code> is returned.</p></div> +</div> +</div> +<div class="sect1"> +<h2 id="_changelog">Changelog</h2> +<div class="sectionbody"> +<div class="ulist"><ul> +<li> +<p> +<strong>1.0</strong>: Function introduced. +</p> +</li> +</ul></div> +</div> +</div> +<div class="sect1"> +<h2 id="_examples">Examples</h2> +<div class="sectionbody"> +<div class="listingblock"> +<div class="title">Flush all messages from a connection</div> +<div class="content"><!-- Generator: GNU source-highlight +by Lorenzo Bettini +http://www.lorenzobettini.it +http://www.gnu.org/software/src-highlite --> +<pre><tt><span style="font-weight: bold"><span style="color: #000000">gun:flush</span></span>(<span style="color: #009900">ConnPid</span>)<span style="color: #990000">.</span></tt></pre></div></div> +<div class="listingblock"> +<div class="title">Flush messages from a single stream</div> +<div class="content"><!-- Generator: GNU source-highlight +by Lorenzo Bettini +http://www.lorenzobettini.it +http://www.gnu.org/software/src-highlite --> +<pre><tt><span style="font-weight: bold"><span style="color: #000000">gun:flush</span></span>(<span style="color: #009900">StreamRef</span>)<span style="color: #990000">.</span></tt></pre></div></div> +</div> +</div> +<div class="sect1"> +<h2 id="_see_also">See also</h2> +<div class="sectionbody"> +<div class="paragraph"><p><a href="../gun">gun(3)</a>, +<a href="../gun.await">gun:await(3)</a>, +<a href="../gun.await_body">gun:await_body(3)</a>, +<a href="../gun.await_up">gun:await_up(3)</a></p></div> +</div> +</div> + + + + + +</div> + +<div class="span3 sidecol"> + + +<h3> + Gun + 1.0 + Function Reference + +</h3> + +<ul> + + <li><a href="/docs/en/gun/1.0/guide">User Guide</a></li> + + + <li><a href="/docs/en/gun/1.0/manual">Function Reference</a></li> + + +</ul> + +<h4 id="docs-nav">Navigation</h4> + +<h4>Version select</h4> +<ul> + + + + <li><a href="/docs/en/gun/1.0/manual">1.0</a></li> + +</ul> + +</div> +</div> +</div> +</div> + + <footer> + <div class="container"> + <div class="row"> + <div class="span6"> + <p id="scroll-top"><a href="#">↑ Scroll to top</a></p> + <nav> + <ul> + <li><a href="mailto:[email protected]" title="Contact us">Contact us</a></li><li><a href="https://github.com/ninenines/ninenines.github.io" title="Github repository">Contribute to this site</a></li> + </ul> + </nav> + </div> + <div class="span6 credits"> + <p><img src="/img/footer_logo.png"></p> + <p>Copyright © Loïc Hoguin 2012-2018</p> + </div> + </div> + </div> + </footer> + + + <script src="/js/custom.js"></script> + </body> +</html> + + diff --git a/docs/en/gun/1.0/manual/gun.get/index.html b/docs/en/gun/1.0/manual/gun.get/index.html new file mode 100644 index 00000000..a1864b6c --- /dev/null +++ b/docs/en/gun/1.0/manual/gun.get/index.html @@ -0,0 +1,259 @@ +<!DOCTYPE html> +<html lang="en"> + +<head> + <meta charset="utf-8"> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + <meta name="description" content=""> + <meta name="author" content="Loïc Hoguin based on a design from (Soft10) Pol Cámara"> + + <title>Nine Nines: gun:get(3)</title> + + <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic' rel='stylesheet' type='text/css'> + <link href="/css/99s.css?r=1" rel="stylesheet"> + + <link rel="shortcut icon" href="/img/ico/favicon.ico"> + <link rel="apple-touch-icon-precomposed" sizes="114x114" href="/img/ico/apple-touch-icon-114.png"> + <link rel="apple-touch-icon-precomposed" sizes="72x72" href="/img/ico/apple-touch-icon-72.png"> + <link rel="apple-touch-icon-precomposed" href="/img/ico/apple-touch-icon-57.png"> + + +</head> + + +<body class=""> + <header id="page-head"> + <div id="topbar" class="container"> + <div class="row"> + <div class="span2"> + <h1 id="logo"><a href="/" title="99s">99s</a></h1> + </div> + <div class="span10"> + + <div id="side-header"> + <nav> + <ul> + <li><a title="Hear my thoughts" href="/articles">Articles</a></li> + <li><a title="Watch my talks" href="/talks">Talks</a></li> + <li class="active"><a title="Read the docs" href="/docs">Documentation</a></li> + <li><a title="Request my services" href="/services">Consulting & Training</a></li> + </ul> + </nav> + <ul id="social"> + <li> + <a href="https://github.com/ninenines" title="Check my Github repositories"><img src="/img/ico_github.png" data-hover="/img/ico_github_alt.png" alt="Github"></a> + </li> + <li> + <a title="Contact me" href="mailto:[email protected]"><img src="/img/ico_mail.png" data-hover="/img/ico_mail_alt.png"></a> + </li> + </ul> + </div> + </div> + </div> + </div> + + +</header> + +<div id="contents" class="two_col"> +<div class="container"> +<div class="row"> +<div id="docs" class="span9 maincol"> + +<h1 class="lined-header"><span>gun:get(3)</span></h1> + +<div class="sect1"> +<h2 id="_name">Name</h2> +<div class="sectionbody"> +<div class="paragraph"><p>gun:get - Get a resource representation</p></div> +</div> +</div> +<div class="sect1"> +<h2 id="_description">Description</h2> +<div class="sectionbody"> +<div class="listingblock"> +<div class="content"><!-- Generator: GNU source-highlight +by Lorenzo Bettini +http://www.lorenzobettini.it +http://www.gnu.org/software/src-highlite --> +<pre><tt><span style="font-weight: bold"><span style="color: #000080">get</span></span>(<span style="color: #009900">ConnPid</span>, <span style="color: #009900">Path</span>) + <span style="color: #990000">-></span> <span style="font-weight: bold"><span style="color: #000080">get</span></span>(<span style="color: #009900">ConnPid</span>, <span style="color: #009900">Path</span>, [], #{})<span style="color: #990000">.</span> + +<span style="font-weight: bold"><span style="color: #000080">get</span></span>(<span style="color: #009900">ConnPid</span>, <span style="color: #009900">Path</span>, <span style="color: #009900">Headers</span>) + <span style="color: #990000">-></span> <span style="font-weight: bold"><span style="color: #000080">get</span></span>(<span style="color: #009900">ConnPid</span>, <span style="color: #009900">Path</span>, <span style="color: #009900">Headers</span>, #{}) + +<span style="font-weight: bold"><span style="color: #000080">get</span></span>(<span style="color: #009900">ConnPid</span>, <span style="color: #009900">Path</span>, <span style="color: #009900">Headers</span>, <span style="color: #009900">ReqOpts</span>) + <span style="color: #990000">-></span> <span style="color: #009900">StreamRef</span> + +<span style="color: #009900">ConnPid</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">pid</span></span>() +<span style="color: #009900">Path</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">iodata</span></span>() +<span style="color: #009900">Headers</span> <span style="color: #990000">::</span> [{<span style="font-weight: bold"><span style="color: #000080">binary</span></span>(), <span style="font-weight: bold"><span style="color: #000000">iodata</span></span>()}] +<span style="color: #009900">ReqOpts</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">gun:req_opts</span></span>() +<span style="color: #009900">StreamRef</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">reference</span></span>()</tt></pre></div></div> +<div class="paragraph"><p>Get a resource representation.</p></div> +</div> +</div> +<div class="sect1"> +<h2 id="_arguments">Arguments</h2> +<div class="sectionbody"> +<div class="dlist"><dl> +<dt class="hdlist1"> +ConnPid +</dt> +<dd> +<p> +The pid of the Gun connection process. +</p> +</dd> +<dt class="hdlist1"> +Path +</dt> +<dd> +<p> +Path to the resource. +</p> +</dd> +<dt class="hdlist1"> +Headers +</dt> +<dd> +<p> +Additional request headers. +</p> +</dd> +<dt class="hdlist1"> +ReqOpts +</dt> +<dd> +<p> +Request options. +</p> +</dd> +</dl></div> +</div> +</div> +<div class="sect1"> +<h2 id="_return_value">Return value</h2> +<div class="sectionbody"> +<div class="paragraph"><p>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.</p></div> +</div> +</div> +<div class="sect1"> +<h2 id="_changelog">Changelog</h2> +<div class="sectionbody"> +<div class="ulist"><ul> +<li> +<p> +<strong>1.0</strong>: Function introduced. +</p> +</li> +</ul></div> +</div> +</div> +<div class="sect1"> +<h2 id="_examples">Examples</h2> +<div class="sectionbody"> +<div class="listingblock"> +<div class="title">Get a resource representation</div> +<div class="content"><!-- Generator: GNU source-highlight +by Lorenzo Bettini +http://www.lorenzobettini.it +http://www.gnu.org/software/src-highlite --> +<pre><tt><span style="color: #009900">StreamRef</span> <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">gun:get</span></span>(<span style="color: #009900">ConnPid</span>, <span style="color: #FF0000">"/articles"</span>, [ + {<span style="color: #990000"><<</span><span style="color: #FF0000">"accept"</span><span style="color: #990000">>></span>, <span style="color: #990000"><<</span><span style="color: #FF0000">"text/html;q=1.0, application/xml;q=0.1"</span><span style="color: #990000">>></span>} +])<span style="color: #990000">.</span></tt></pre></div></div> +<div class="listingblock"> +<div class="title">Get a resource representation with request options</div> +<div class="content"><!-- Generator: GNU source-highlight +by Lorenzo Bettini +http://www.lorenzobettini.it +http://www.gnu.org/software/src-highlite --> +<pre><tt><span style="color: #009900">StreamRef</span> <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">gun:get</span></span>(<span style="color: #009900">ConnPid</span>, <span style="color: #FF0000">"/articles"</span>, [], #{ + <span style="color: #0000FF">reply_to</span> <span style="color: #990000">=></span> <span style="color: #009900">ReplyToPid</span> +})<span style="color: #990000">.</span></tt></pre></div></div> +</div> +</div> +<div class="sect1"> +<h2 id="_see_also">See also</h2> +<div class="sectionbody"> +<div class="paragraph"><p><a href="../gun">gun(3)</a>, +<a href="../gun.head">gun:head(3)</a>, +<a href="../gun.await">gun:await(3)</a>, +<a href="../gun.await_body">gun:await_body(3)</a>, +<a href="../gun_push">gun_push(3)</a>, +<a href="../gun_inform">gun_inform(3)</a>, +<a href="../gun_response">gun_response(3)</a>, +<a href="../gun_data">gun_data(3)</a></p></div> +</div> +</div> + + + + + +</div> + +<div class="span3 sidecol"> + + +<h3> + Gun + 1.0 + Function Reference + +</h3> + +<ul> + + <li><a href="/docs/en/gun/1.0/guide">User Guide</a></li> + + + <li><a href="/docs/en/gun/1.0/manual">Function Reference</a></li> + + +</ul> + +<h4 id="docs-nav">Navigation</h4> + +<h4>Version select</h4> +<ul> + + + + <li><a href="/docs/en/gun/1.0/manual">1.0</a></li> + +</ul> + +</div> +</div> +</div> +</div> + + <footer> + <div class="container"> + <div class="row"> + <div class="span6"> + <p id="scroll-top"><a href="#">↑ Scroll to top</a></p> + <nav> + <ul> + <li><a href="mailto:[email protected]" title="Contact us">Contact us</a></li><li><a href="https://github.com/ninenines/ninenines.github.io" title="Github repository">Contribute to this site</a></li> + </ul> + </nav> + </div> + <div class="span6 credits"> + <p><img src="/img/footer_logo.png"></p> + <p>Copyright © Loïc Hoguin 2012-2018</p> + </div> + </div> + </div> + </footer> + + + <script src="/js/custom.js"></script> + </body> +</html> + + diff --git a/docs/en/gun/1.0/manual/gun.head/index.html b/docs/en/gun/1.0/manual/gun.head/index.html new file mode 100644 index 00000000..8afd0163 --- /dev/null +++ b/docs/en/gun/1.0/manual/gun.head/index.html @@ -0,0 +1,264 @@ +<!DOCTYPE html> +<html lang="en"> + +<head> + <meta charset="utf-8"> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + <meta name="description" content=""> + <meta name="author" content="Loïc Hoguin based on a design from (Soft10) Pol Cámara"> + + <title>Nine Nines: gun:head(3)</title> + + <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic' rel='stylesheet' type='text/css'> + <link href="/css/99s.css?r=1" rel="stylesheet"> + + <link rel="shortcut icon" href="/img/ico/favicon.ico"> + <link rel="apple-touch-icon-precomposed" sizes="114x114" href="/img/ico/apple-touch-icon-114.png"> + <link rel="apple-touch-icon-precomposed" sizes="72x72" href="/img/ico/apple-touch-icon-72.png"> + <link rel="apple-touch-icon-precomposed" href="/img/ico/apple-touch-icon-57.png"> + + +</head> + + +<body class=""> + <header id="page-head"> + <div id="topbar" class="container"> + <div class="row"> + <div class="span2"> + <h1 id="logo"><a href="/" title="99s">99s</a></h1> + </div> + <div class="span10"> + + <div id="side-header"> + <nav> + <ul> + <li><a title="Hear my thoughts" href="/articles">Articles</a></li> + <li><a title="Watch my talks" href="/talks">Talks</a></li> + <li class="active"><a title="Read the docs" href="/docs">Documentation</a></li> + <li><a title="Request my services" href="/services">Consulting & Training</a></li> + </ul> + </nav> + <ul id="social"> + <li> + <a href="https://github.com/ninenines" title="Check my Github repositories"><img src="/img/ico_github.png" data-hover="/img/ico_github_alt.png" alt="Github"></a> + </li> + <li> + <a title="Contact me" href="mailto:[email protected]"><img src="/img/ico_mail.png" data-hover="/img/ico_mail_alt.png"></a> + </li> + </ul> + </div> + </div> + </div> + </div> + + +</header> + +<div id="contents" class="two_col"> +<div class="container"> +<div class="row"> +<div id="docs" class="span9 maincol"> + +<h1 class="lined-header"><span>gun:head(3)</span></h1> + +<div class="sect1"> +<h2 id="_name">Name</h2> +<div class="sectionbody"> +<div class="paragraph"><p>gun:head - Get headers of a resource representation</p></div> +</div> +</div> +<div class="sect1"> +<h2 id="_description">Description</h2> +<div class="sectionbody"> +<div class="listingblock"> +<div class="content"><!-- Generator: GNU source-highlight +by Lorenzo Bettini +http://www.lorenzobettini.it +http://www.gnu.org/software/src-highlite --> +<pre><tt><span style="font-weight: bold"><span style="color: #000000">head</span></span>(<span style="color: #009900">ConnPid</span>, <span style="color: #009900">Path</span>) + <span style="color: #990000">-></span> <span style="font-weight: bold"><span style="color: #000000">head</span></span>(<span style="color: #009900">ConnPid</span>, <span style="color: #009900">Path</span>, [], #{})<span style="color: #990000">.</span> + +<span style="font-weight: bold"><span style="color: #000000">head</span></span>(<span style="color: #009900">ConnPid</span>, <span style="color: #009900">Path</span>, <span style="color: #009900">Headers</span>) + <span style="color: #990000">-></span> <span style="font-weight: bold"><span style="color: #000000">head</span></span>(<span style="color: #009900">ConnPid</span>, <span style="color: #009900">Path</span>, <span style="color: #009900">Headers</span>, #{}) + +<span style="font-weight: bold"><span style="color: #000000">head</span></span>(<span style="color: #009900">ConnPid</span>, <span style="color: #009900">Path</span>, <span style="color: #009900">Headers</span>, <span style="color: #009900">ReqOpts</span>) + <span style="color: #990000">-></span> <span style="color: #009900">StreamRef</span> + +<span style="color: #009900">ConnPid</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">pid</span></span>() +<span style="color: #009900">Path</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">iodata</span></span>() +<span style="color: #009900">Headers</span> <span style="color: #990000">::</span> [{<span style="font-weight: bold"><span style="color: #000080">binary</span></span>(), <span style="font-weight: bold"><span style="color: #000000">iodata</span></span>()}] +<span style="color: #009900">ReqOpts</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">gun:req_opts</span></span>() +<span style="color: #009900">StreamRef</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">reference</span></span>()</tt></pre></div></div> +<div class="paragraph"><p>Get headers of a resource representation.</p></div> +<div class="paragraph"><p>This function performs the same operation as +<a href="../gun.get">gun:get(3)</a>, except the server will not +send the resource representation, only the response’s status +code and headers.</p></div> +<div class="paragraph"><p>While servers are supposed to send the same headers as for +a GET request, they sometimes will not. For example the +<code>content-length</code> header may be dropped from the response.</p></div> +</div> +</div> +<div class="sect1"> +<h2 id="_arguments">Arguments</h2> +<div class="sectionbody"> +<div class="dlist"><dl> +<dt class="hdlist1"> +ConnPid +</dt> +<dd> +<p> +The pid of the Gun connection process. +</p> +</dd> +<dt class="hdlist1"> +Path +</dt> +<dd> +<p> +Path to the resource. +</p> +</dd> +<dt class="hdlist1"> +Headers +</dt> +<dd> +<p> +Additional request headers. +</p> +</dd> +<dt class="hdlist1"> +ReqOpts +</dt> +<dd> +<p> +Request options. +</p> +</dd> +</dl></div> +</div> +</div> +<div class="sect1"> +<h2 id="_return_value">Return value</h2> +<div class="sectionbody"> +<div class="paragraph"><p>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.</p></div> +</div> +</div> +<div class="sect1"> +<h2 id="_changelog">Changelog</h2> +<div class="sectionbody"> +<div class="ulist"><ul> +<li> +<p> +<strong>1.0</strong>: Function introduced. +</p> +</li> +</ul></div> +</div> +</div> +<div class="sect1"> +<h2 id="_examples">Examples</h2> +<div class="sectionbody"> +<div class="listingblock"> +<div class="title">Get headers of a resource representation</div> +<div class="content"><!-- Generator: GNU source-highlight +by Lorenzo Bettini +http://www.lorenzobettini.it +http://www.gnu.org/software/src-highlite --> +<pre><tt><span style="color: #009900">StreamRef</span> <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">gun:head</span></span>(<span style="color: #009900">ConnPid</span>, <span style="color: #FF0000">"/articles"</span>, [ + {<span style="color: #990000"><<</span><span style="color: #FF0000">"accept"</span><span style="color: #990000">>></span>, <span style="color: #990000"><<</span><span style="color: #FF0000">"text/html;q=1.0, application/xml;q=0.1"</span><span style="color: #990000">>></span>} +])<span style="color: #990000">.</span></tt></pre></div></div> +<div class="listingblock"> +<div class="title">Get headers of a resource representation with request options</div> +<div class="content"><!-- Generator: GNU source-highlight +by Lorenzo Bettini +http://www.lorenzobettini.it +http://www.gnu.org/software/src-highlite --> +<pre><tt><span style="color: #009900">StreamRef</span> <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">gun:head</span></span>(<span style="color: #009900">ConnPid</span>, <span style="color: #FF0000">"/articles"</span>, [], #{ + <span style="color: #0000FF">reply_to</span> <span style="color: #990000">=></span> <span style="color: #009900">ReplyToPid</span> +})<span style="color: #990000">.</span></tt></pre></div></div> +</div> +</div> +<div class="sect1"> +<h2 id="_see_also">See also</h2> +<div class="sectionbody"> +<div class="paragraph"><p><a href="../gun">gun(3)</a>, +<a href="../gun.get">gun:head(3)</a>, +<a href="../gun.await">gun:await(3)</a>, +<a href="../gun_push">gun_push(3)</a>, +<a href="../gun_inform">gun_inform(3)</a>, +<a href="../gun_response">gun_response(3)</a></p></div> +</div> +</div> + + + + + +</div> + +<div class="span3 sidecol"> + + +<h3> + Gun + 1.0 + Function Reference + +</h3> + +<ul> + + <li><a href="/docs/en/gun/1.0/guide">User Guide</a></li> + + + <li><a href="/docs/en/gun/1.0/manual">Function Reference</a></li> + + +</ul> + +<h4 id="docs-nav">Navigation</h4> + +<h4>Version select</h4> +<ul> + + + + <li><a href="/docs/en/gun/1.0/manual">1.0</a></li> + +</ul> + +</div> +</div> +</div> +</div> + + <footer> + <div class="container"> + <div class="row"> + <div class="span6"> + <p id="scroll-top"><a href="#">↑ Scroll to top</a></p> + <nav> + <ul> + <li><a href="mailto:[email protected]" title="Contact us">Contact us</a></li><li><a href="https://github.com/ninenines/ninenines.github.io" title="Github repository">Contribute to this site</a></li> + </ul> + </nav> + </div> + <div class="span6 credits"> + <p><img src="/img/footer_logo.png"></p> + <p>Copyright © Loïc Hoguin 2012-2018</p> + </div> + </div> + </div> + </footer> + + + <script src="/js/custom.js"></script> + </body> +</html> + + diff --git a/docs/en/gun/1.0/manual/gun.info/index.html b/docs/en/gun/1.0/manual/gun.info/index.html new file mode 100644 index 00000000..7b94f600 --- /dev/null +++ b/docs/en/gun/1.0/manual/gun.info/index.html @@ -0,0 +1,210 @@ +<!DOCTYPE html> +<html lang="en"> + +<head> + <meta charset="utf-8"> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + <meta name="description" content=""> + <meta name="author" content="Loïc Hoguin based on a design from (Soft10) Pol Cámara"> + + <title>Nine Nines: gun:info(3)</title> + + <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic' rel='stylesheet' type='text/css'> + <link href="/css/99s.css?r=1" rel="stylesheet"> + + <link rel="shortcut icon" href="/img/ico/favicon.ico"> + <link rel="apple-touch-icon-precomposed" sizes="114x114" href="/img/ico/apple-touch-icon-114.png"> + <link rel="apple-touch-icon-precomposed" sizes="72x72" href="/img/ico/apple-touch-icon-72.png"> + <link rel="apple-touch-icon-precomposed" href="/img/ico/apple-touch-icon-57.png"> + + +</head> + + +<body class=""> + <header id="page-head"> + <div id="topbar" class="container"> + <div class="row"> + <div class="span2"> + <h1 id="logo"><a href="/" title="99s">99s</a></h1> + </div> + <div class="span10"> + + <div id="side-header"> + <nav> + <ul> + <li><a title="Hear my thoughts" href="/articles">Articles</a></li> + <li><a title="Watch my talks" href="/talks">Talks</a></li> + <li class="active"><a title="Read the docs" href="/docs">Documentation</a></li> + <li><a title="Request my services" href="/services">Consulting & Training</a></li> + </ul> + </nav> + <ul id="social"> + <li> + <a href="https://github.com/ninenines" title="Check my Github repositories"><img src="/img/ico_github.png" data-hover="/img/ico_github_alt.png" alt="Github"></a> + </li> + <li> + <a title="Contact me" href="mailto:[email protected]"><img src="/img/ico_mail.png" data-hover="/img/ico_mail_alt.png"></a> + </li> + </ul> + </div> + </div> + </div> + </div> + + +</header> + +<div id="contents" class="two_col"> +<div class="container"> +<div class="row"> +<div id="docs" class="span9 maincol"> + +<h1 class="lined-header"><span>gun:info(3)</span></h1> + +<div class="sect1"> +<h2 id="_name">Name</h2> +<div class="sectionbody"> +<div class="paragraph"><p>gun:info - Obtain information about the connection</p></div> +</div> +</div> +<div class="sect1"> +<h2 id="_description">Description</h2> +<div class="sectionbody"> +<div class="listingblock"> +<div class="content"><!-- Generator: GNU source-highlight +by Lorenzo Bettini +http://www.lorenzobettini.it +http://www.gnu.org/software/src-highlite --> +<pre><tt><span style="font-weight: bold"><span style="color: #000000">info</span></span>(<span style="color: #009900">ConnPid</span>) <span style="color: #990000">-></span> <span style="color: #009900">Info</span> + +<span style="color: #009900">ConnPid</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">pid</span></span>() +<span style="color: #009900">Info</span> <span style="color: #990000">::</span> #{ + <span style="color: #0000FF">sock_ip</span> <span style="color: #990000">=></span> <span style="font-weight: bold"><span style="color: #000000">inet:ip_address</span></span>(), + <span style="color: #0000FF">sock_port</span> <span style="color: #990000">=></span> <span style="font-weight: bold"><span style="color: #000000">inet:port_number</span></span>() +}</tt></pre></div></div> +<div class="paragraph"><p>Obtain information about the connection.</p></div> +</div> +</div> +<div class="sect1"> +<h2 id="_arguments">Arguments</h2> +<div class="sectionbody"> +<div class="dlist"><dl> +<dt class="hdlist1"> +ConnPid +</dt> +<dd> +<p> +The pid of the Gun connection process. +</p> +</dd> +</dl></div> +</div> +</div> +<div class="sect1"> +<h2 id="_return_value">Return value</h2> +<div class="sectionbody"> +<div class="paragraph"><p>A map is returned containing various informations about +the connection.</p></div> +</div> +</div> +<div class="sect1"> +<h2 id="_changelog">Changelog</h2> +<div class="sectionbody"> +<div class="ulist"><ul> +<li> +<p> +<strong>1.0</strong>: Function introduced. +</p> +</li> +</ul></div> +</div> +</div> +<div class="sect1"> +<h2 id="_examples">Examples</h2> +<div class="sectionbody"> +<div class="listingblock"> +<div class="title">Obtain information about the connection</div> +<div class="content"><!-- Generator: GNU source-highlight +by Lorenzo Bettini +http://www.lorenzobettini.it +http://www.gnu.org/software/src-highlite --> +<pre><tt><span style="color: #009900">Info</span> <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">gun:info</span></span>(<span style="color: #009900">ConnPid</span>)<span style="color: #990000">.</span></tt></pre></div></div> +</div> +</div> +<div class="sect1"> +<h2 id="_see_also">See also</h2> +<div class="sectionbody"> +<div class="paragraph"><p><a href="../gun">gun(3)</a>, +<a href="../gun.open">gun:open(3)</a>, +<a href="../gun.open_unix">gun:open_unix(3)</a></p></div> +</div> +</div> + + + + + +</div> + +<div class="span3 sidecol"> + + +<h3> + Gun + 1.0 + Function Reference + +</h3> + +<ul> + + <li><a href="/docs/en/gun/1.0/guide">User Guide</a></li> + + + <li><a href="/docs/en/gun/1.0/manual">Function Reference</a></li> + + +</ul> + +<h4 id="docs-nav">Navigation</h4> + +<h4>Version select</h4> +<ul> + + + + <li><a href="/docs/en/gun/1.0/manual">1.0</a></li> + +</ul> + +</div> +</div> +</div> +</div> + + <footer> + <div class="container"> + <div class="row"> + <div class="span6"> + <p id="scroll-top"><a href="#">↑ Scroll to top</a></p> + <nav> + <ul> + <li><a href="mailto:[email protected]" title="Contact us">Contact us</a></li><li><a href="https://github.com/ninenines/ninenines.github.io" title="Github repository">Contribute to this site</a></li> + </ul> + </nav> + </div> + <div class="span6 credits"> + <p><img src="/img/footer_logo.png"></p> + <p>Copyright © Loïc Hoguin 2012-2018</p> + </div> + </div> + </div> + </footer> + + + <script src="/js/custom.js"></script> + </body> +</html> + + diff --git a/docs/en/gun/1.0/manual/gun.open/index.html b/docs/en/gun/1.0/manual/gun.open/index.html new file mode 100644 index 00000000..2f1548fe --- /dev/null +++ b/docs/en/gun/1.0/manual/gun.open/index.html @@ -0,0 +1,243 @@ +<!DOCTYPE html> +<html lang="en"> + +<head> + <meta charset="utf-8"> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + <meta name="description" content=""> + <meta name="author" content="Loïc Hoguin based on a design from (Soft10) Pol Cámara"> + + <title>Nine Nines: gun:open(3)</title> + + <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic' rel='stylesheet' type='text/css'> + <link href="/css/99s.css?r=1" rel="stylesheet"> + + <link rel="shortcut icon" href="/img/ico/favicon.ico"> + <link rel="apple-touch-icon-precomposed" sizes="114x114" href="/img/ico/apple-touch-icon-114.png"> + <link rel="apple-touch-icon-precomposed" sizes="72x72" href="/img/ico/apple-touch-icon-72.png"> + <link rel="apple-touch-icon-precomposed" href="/img/ico/apple-touch-icon-57.png"> + + +</head> + + +<body class=""> + <header id="page-head"> + <div id="topbar" class="container"> + <div class="row"> + <div class="span2"> + <h1 id="logo"><a href="/" title="99s">99s</a></h1> + </div> + <div class="span10"> + + <div id="side-header"> + <nav> + <ul> + <li><a title="Hear my thoughts" href="/articles">Articles</a></li> + <li><a title="Watch my talks" href="/talks">Talks</a></li> + <li class="active"><a title="Read the docs" href="/docs">Documentation</a></li> + <li><a title="Request my services" href="/services">Consulting & Training</a></li> + </ul> + </nav> + <ul id="social"> + <li> + <a href="https://github.com/ninenines" title="Check my Github repositories"><img src="/img/ico_github.png" data-hover="/img/ico_github_alt.png" alt="Github"></a> + </li> + <li> + <a title="Contact me" href="mailto:[email protected]"><img src="/img/ico_mail.png" data-hover="/img/ico_mail_alt.png"></a> + </li> + </ul> + </div> + </div> + </div> + </div> + + +</header> + +<div id="contents" class="two_col"> +<div class="container"> +<div class="row"> +<div id="docs" class="span9 maincol"> + +<h1 class="lined-header"><span>gun:open(3)</span></h1> + +<div class="sect1"> +<h2 id="_name">Name</h2> +<div class="sectionbody"> +<div class="paragraph"><p>gun:open - Open a connection to the given host and port</p></div> +</div> +</div> +<div class="sect1"> +<h2 id="_description">Description</h2> +<div class="sectionbody"> +<div class="listingblock"> +<div class="content"><!-- Generator: GNU source-highlight +by Lorenzo Bettini +http://www.lorenzobettini.it +http://www.gnu.org/software/src-highlite --> +<pre><tt><span style="font-weight: bold"><span style="color: #000000">open</span></span>(<span style="color: #009900">Host</span>, <span style="color: #009900">Port</span>) <span style="color: #990000">-></span> <span style="font-weight: bold"><span style="color: #000000">open</span></span>(<span style="color: #009900">Host</span>, <span style="color: #009900">Port</span>, #{}) +<span style="font-weight: bold"><span style="color: #000000">open</span></span>(<span style="color: #009900">Host</span>, <span style="color: #009900">Port</span>, <span style="color: #009900">Opts</span>) <span style="color: #990000">-></span> {<span style="color: #FF6600">ok</span>, <span style="font-weight: bold"><span style="color: #000080">pid</span></span>()} | {<span style="color: #FF6600">error</span>, <span style="font-weight: bold"><span style="color: #000000">any</span></span>()} + +<span style="color: #009900">Host</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">inet:hostname</span></span>() | <span style="font-weight: bold"><span style="color: #000000">inet:ip_address</span></span>() +<span style="color: #009900">Port</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">inet:port_number</span></span>() +<span style="color: #009900">Opts</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">gun:opts</span></span>()</tt></pre></div></div> +<div class="paragraph"><p>Open a connection to the given host and port.</p></div> +</div> +</div> +<div class="sect1"> +<h2 id="_arguments">Arguments</h2> +<div class="sectionbody"> +<div class="dlist"><dl> +<dt class="hdlist1"> +Host +</dt> +<dd> +<p> +Host or IP address to connect to. +</p> +</dd> +<dt class="hdlist1"> +Port +</dt> +<dd> +<p> +Port to connect to. +</p> +</dd> +<dt class="hdlist1"> +Opts +</dt> +<dd> +<p> +Options for this connection. +</p> +</dd> +</dl></div> +</div> +</div> +<div class="sect1"> +<h2 id="_return_value">Return value</h2> +<div class="sectionbody"> +<div class="paragraph"><p>The pid of the newly created Gun process is returned. +Note that this does not indicate that the connection +has been successfully opened; the <a href="../gun_up">gun_up(3)</a> +message will be sent for that.</p></div> +</div> +</div> +<div class="sect1"> +<h2 id="_changelog">Changelog</h2> +<div class="sectionbody"> +<div class="ulist"><ul> +<li> +<p> +<strong>1.0</strong>: Function introduced. +</p> +</li> +</ul></div> +</div> +</div> +<div class="sect1"> +<h2 id="_examples">Examples</h2> +<div class="sectionbody"> +<div class="listingblock"> +<div class="title">Connect to a server</div> +<div class="content"><!-- Generator: GNU source-highlight +by Lorenzo Bettini +http://www.lorenzobettini.it +http://www.gnu.org/software/src-highlite --> +<pre><tt>{<span style="color: #FF6600">ok</span>, <span style="color: #009900">ConnPid</span>} <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">gun:open</span></span>(<span style="color: #FF0000">"example.org"</span>, <span style="color: #993399">443</span>)<span style="color: #990000">.</span></tt></pre></div></div> +<div class="listingblock"> +<div class="title">Connect to a server with custom options</div> +<div class="content"><!-- Generator: GNU source-highlight +by Lorenzo Bettini +http://www.lorenzobettini.it +http://www.gnu.org/software/src-highlite --> +<pre><tt>{<span style="color: #FF6600">ok</span>, <span style="color: #009900">ConnPid</span>} <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">gun:open</span></span>(<span style="color: #FF0000">"example.org"</span>, <span style="color: #993399">443</span>, + #{<span style="color: #0000FF">protocols</span> <span style="color: #990000">=></span> [<span style="color: #FF6600">http2</span>]})<span style="color: #990000">.</span></tt></pre></div></div> +<div class="listingblock"> +<div class="title">Connect to a server using its IP address</div> +<div class="content"><!-- Generator: GNU source-highlight +by Lorenzo Bettini +http://www.lorenzobettini.it +http://www.gnu.org/software/src-highlite --> +<pre><tt>{<span style="color: #FF6600">ok</span>, <span style="color: #009900">ConnPid</span>} <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">gun:open</span></span>({<span style="color: #993399">127</span>,<span style="color: #993399">0</span>,<span style="color: #993399">0</span>,<span style="color: #993399">1</span>}, <span style="color: #993399">443</span>)<span style="color: #990000">.</span></tt></pre></div></div> +</div> +</div> +<div class="sect1"> +<h2 id="_see_also">See also</h2> +<div class="sectionbody"> +<div class="paragraph"><p><a href="../gun">gun(3)</a>, +<a href="../gun.open_unix">gun:open_unix(3)</a>, +<a href="../gun.await_up">gun:await_up(3)</a>, +<a href="../gun_up">gun_up(3)</a></p></div> +</div> +</div> + + + + + +</div> + +<div class="span3 sidecol"> + + +<h3> + Gun + 1.0 + Function Reference + +</h3> + +<ul> + + <li><a href="/docs/en/gun/1.0/guide">User Guide</a></li> + + + <li><a href="/docs/en/gun/1.0/manual">Function Reference</a></li> + + +</ul> + +<h4 id="docs-nav">Navigation</h4> + +<h4>Version select</h4> +<ul> + + + + <li><a href="/docs/en/gun/1.0/manual">1.0</a></li> + +</ul> + +</div> +</div> +</div> +</div> + + <footer> + <div class="container"> + <div class="row"> + <div class="span6"> + <p id="scroll-top"><a href="#">↑ Scroll to top</a></p> + <nav> + <ul> + <li><a href="mailto:[email protected]" title="Contact us">Contact us</a></li><li><a href="https://github.com/ninenines/ninenines.github.io" title="Github repository">Contribute to this site</a></li> + </ul> + </nav> + </div> + <div class="span6 credits"> + <p><img src="/img/footer_logo.png"></p> + <p>Copyright © Loïc Hoguin 2012-2018</p> + </div> + </div> + </div> + </footer> + + + <script src="/js/custom.js"></script> + </body> +</html> + + diff --git a/docs/en/gun/1.0/manual/gun.open_unix/index.html b/docs/en/gun/1.0/manual/gun.open_unix/index.html new file mode 100644 index 00000000..96253f64 --- /dev/null +++ b/docs/en/gun/1.0/manual/gun.open_unix/index.html @@ -0,0 +1,226 @@ +<!DOCTYPE html> +<html lang="en"> + +<head> + <meta charset="utf-8"> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + <meta name="description" content=""> + <meta name="author" content="Loïc Hoguin based on a design from (Soft10) Pol Cámara"> + + <title>Nine Nines: gun:open_unix(3)</title> + + <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic' rel='stylesheet' type='text/css'> + <link href="/css/99s.css?r=1" rel="stylesheet"> + + <link rel="shortcut icon" href="/img/ico/favicon.ico"> + <link rel="apple-touch-icon-precomposed" sizes="114x114" href="/img/ico/apple-touch-icon-114.png"> + <link rel="apple-touch-icon-precomposed" sizes="72x72" href="/img/ico/apple-touch-icon-72.png"> + <link rel="apple-touch-icon-precomposed" href="/img/ico/apple-touch-icon-57.png"> + + +</head> + + +<body class=""> + <header id="page-head"> + <div id="topbar" class="container"> + <div class="row"> + <div class="span2"> + <h1 id="logo"><a href="/" title="99s">99s</a></h1> + </div> + <div class="span10"> + + <div id="side-header"> + <nav> + <ul> + <li><a title="Hear my thoughts" href="/articles">Articles</a></li> + <li><a title="Watch my talks" href="/talks">Talks</a></li> + <li class="active"><a title="Read the docs" href="/docs">Documentation</a></li> + <li><a title="Request my services" href="/services">Consulting & Training</a></li> + </ul> + </nav> + <ul id="social"> + <li> + <a href="https://github.com/ninenines" title="Check my Github repositories"><img src="/img/ico_github.png" data-hover="/img/ico_github_alt.png" alt="Github"></a> + </li> + <li> + <a title="Contact me" href="mailto:[email protected]"><img src="/img/ico_mail.png" data-hover="/img/ico_mail_alt.png"></a> + </li> + </ul> + </div> + </div> + </div> + </div> + + +</header> + +<div id="contents" class="two_col"> +<div class="container"> +<div class="row"> +<div id="docs" class="span9 maincol"> + +<h1 class="lined-header"><span>gun:open_unix(3)</span></h1> + +<div class="sect1"> +<h2 id="_name">Name</h2> +<div class="sectionbody"> +<div class="paragraph"><p>gun:open_unix - Open a connection to the given Unix domain socket</p></div> +</div> +</div> +<div class="sect1"> +<h2 id="_description">Description</h2> +<div class="sectionbody"> +<div class="listingblock"> +<div class="content"><!-- Generator: GNU source-highlight +by Lorenzo Bettini +http://www.lorenzobettini.it +http://www.gnu.org/software/src-highlite --> +<pre><tt><span style="font-weight: bold"><span style="color: #000000">open_unix</span></span>(<span style="color: #009900">SocketPath</span>, <span style="color: #009900">Opts</span>) <span style="color: #990000">-></span> {<span style="color: #FF6600">ok</span>, <span style="font-weight: bold"><span style="color: #000080">pid</span></span>()} | {<span style="color: #FF6600">error</span>, <span style="font-weight: bold"><span style="color: #000000">any</span></span>()} + +<span style="color: #009900">SocketPath</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">string</span></span>() +<span style="color: #009900">Opts</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">gun:opts</span></span>()</tt></pre></div></div> +<div class="paragraph"><p>Open a connection to the given Unix domain socket.</p></div> +</div> +</div> +<div class="sect1"> +<h2 id="_arguments">Arguments</h2> +<div class="sectionbody"> +<div class="dlist"><dl> +<dt class="hdlist1"> +SocketPath +</dt> +<dd> +<p> +Path to the Unix domain socket to connect to. +</p> +</dd> +<dt class="hdlist1"> +Opts +</dt> +<dd> +<p> +Options for this connection. +</p> +</dd> +</dl></div> +</div> +</div> +<div class="sect1"> +<h2 id="_return_value">Return value</h2> +<div class="sectionbody"> +<div class="paragraph"><p>The pid of the newly created Gun process is returned. +Note that this does not indicate that the connection +has been successfully opened; the <a href="../gun_up">gun_up(3)</a> +message will be sent for that.</p></div> +</div> +</div> +<div class="sect1"> +<h2 id="_changelog">Changelog</h2> +<div class="sectionbody"> +<div class="ulist"><ul> +<li> +<p> +<strong>1.0</strong>: Function introduced. +</p> +</li> +</ul></div> +</div> +</div> +<div class="sect1"> +<h2 id="_examples">Examples</h2> +<div class="sectionbody"> +<div class="listingblock"> +<div class="title">Connect to a server via a Unix domain socket</div> +<div class="content"><!-- Generator: GNU source-highlight +by Lorenzo Bettini +http://www.lorenzobettini.it +http://www.gnu.org/software/src-highlite --> +<pre><tt>{<span style="color: #FF6600">ok</span>, <span style="color: #009900">ConnPid</span>} <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">gun:open_unix</span></span>(<span style="color: #FF0000">"/var/run/dbus/system_bus_socket"</span>, #{})<span style="color: #990000">.</span></tt></pre></div></div> +<div class="listingblock"> +<div class="title">Connect to a server via a Unix domain socket with custom options</div> +<div class="content"><!-- Generator: GNU source-highlight +by Lorenzo Bettini +http://www.lorenzobettini.it +http://www.gnu.org/software/src-highlite --> +<pre><tt>{<span style="color: #FF6600">ok</span>, <span style="color: #009900">ConnPid</span>} <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">gun:open_unix</span></span>(<span style="color: #FF0000">"/var/run/dbus/system_bus_socket"</span>, + #{<span style="color: #0000FF">protocols</span> <span style="color: #990000">=></span> [<span style="color: #FF6600">http2</span>]})<span style="color: #990000">.</span></tt></pre></div></div> +</div> +</div> +<div class="sect1"> +<h2 id="_see_also">See also</h2> +<div class="sectionbody"> +<div class="paragraph"><p><a href="../gun">gun(3)</a>, +<a href="../gun.open">gun:open(3)</a>, +<a href="../gun.await_up">gun:await_up(3)</a>, +<a href="../gun_up">gun_up(3)</a></p></div> +</div> +</div> + + + + + +</div> + +<div class="span3 sidecol"> + + +<h3> + Gun + 1.0 + Function Reference + +</h3> + +<ul> + + <li><a href="/docs/en/gun/1.0/guide">User Guide</a></li> + + + <li><a href="/docs/en/gun/1.0/manual">Function Reference</a></li> + + +</ul> + +<h4 id="docs-nav">Navigation</h4> + +<h4>Version select</h4> +<ul> + + + + <li><a href="/docs/en/gun/1.0/manual">1.0</a></li> + +</ul> + +</div> +</div> +</div> +</div> + + <footer> + <div class="container"> + <div class="row"> + <div class="span6"> + <p id="scroll-top"><a href="#">↑ Scroll to top</a></p> + <nav> + <ul> + <li><a href="mailto:[email protected]" title="Contact us">Contact us</a></li><li><a href="https://github.com/ninenines/ninenines.github.io" title="Github repository">Contribute to this site</a></li> + </ul> + </nav> + </div> + <div class="span6 credits"> + <p><img src="/img/footer_logo.png"></p> + <p>Copyright © Loïc Hoguin 2012-2018</p> + </div> + </div> + </div> + </footer> + + + <script src="/js/custom.js"></script> + </body> +</html> + + diff --git a/docs/en/gun/1.0/manual/gun.options/index.html b/docs/en/gun/1.0/manual/gun.options/index.html new file mode 100644 index 00000000..4a3c50aa --- /dev/null +++ b/docs/en/gun/1.0/manual/gun.options/index.html @@ -0,0 +1,256 @@ +<!DOCTYPE html> +<html lang="en"> + +<head> + <meta charset="utf-8"> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + <meta name="description" content=""> + <meta name="author" content="Loïc Hoguin based on a design from (Soft10) Pol Cámara"> + + <title>Nine Nines: gun:options(3)</title> + + <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic' rel='stylesheet' type='text/css'> + <link href="/css/99s.css?r=1" rel="stylesheet"> + + <link rel="shortcut icon" href="/img/ico/favicon.ico"> + <link rel="apple-touch-icon-precomposed" sizes="114x114" href="/img/ico/apple-touch-icon-114.png"> + <link rel="apple-touch-icon-precomposed" sizes="72x72" href="/img/ico/apple-touch-icon-72.png"> + <link rel="apple-touch-icon-precomposed" href="/img/ico/apple-touch-icon-57.png"> + + +</head> + + +<body class=""> + <header id="page-head"> + <div id="topbar" class="container"> + <div class="row"> + <div class="span2"> + <h1 id="logo"><a href="/" title="99s">99s</a></h1> + </div> + <div class="span10"> + + <div id="side-header"> + <nav> + <ul> + <li><a title="Hear my thoughts" href="/articles">Articles</a></li> + <li><a title="Watch my talks" href="/talks">Talks</a></li> + <li class="active"><a title="Read the docs" href="/docs">Documentation</a></li> + <li><a title="Request my services" href="/services">Consulting & Training</a></li> + </ul> + </nav> + <ul id="social"> + <li> + <a href="https://github.com/ninenines" title="Check my Github repositories"><img src="/img/ico_github.png" data-hover="/img/ico_github_alt.png" alt="Github"></a> + </li> + <li> + <a title="Contact me" href="mailto:[email protected]"><img src="/img/ico_mail.png" data-hover="/img/ico_mail_alt.png"></a> + </li> + </ul> + </div> + </div> + </div> + </div> + + +</header> + +<div id="contents" class="two_col"> +<div class="container"> +<div class="row"> +<div id="docs" class="span9 maincol"> + +<h1 class="lined-header"><span>gun:options(3)</span></h1> + +<div class="sect1"> +<h2 id="_name">Name</h2> +<div class="sectionbody"> +<div class="paragraph"><p>gun:options - Query the capabilities of the server or a resource</p></div> +</div> +</div> +<div class="sect1"> +<h2 id="_description">Description</h2> +<div class="sectionbody"> +<div class="listingblock"> +<div class="content"><!-- Generator: GNU source-highlight +by Lorenzo Bettini +http://www.lorenzobettini.it +http://www.gnu.org/software/src-highlite --> +<pre><tt><span style="font-weight: bold"><span style="color: #000000">options</span></span>(<span style="color: #009900">ConnPid</span>, <span style="color: #009900">Path</span>) + <span style="color: #990000">-></span> <span style="font-weight: bold"><span style="color: #000000">options</span></span>(<span style="color: #009900">ConnPid</span>, <span style="color: #009900">Path</span>, [], #{})<span style="color: #990000">.</span> + +<span style="font-weight: bold"><span style="color: #000000">options</span></span>(<span style="color: #009900">ConnPid</span>, <span style="color: #009900">Path</span>, <span style="color: #009900">Headers</span>) + <span style="color: #990000">-></span> <span style="font-weight: bold"><span style="color: #000000">options</span></span>(<span style="color: #009900">ConnPid</span>, <span style="color: #009900">Path</span>, <span style="color: #009900">Headers</span>, #{}) + +<span style="font-weight: bold"><span style="color: #000000">options</span></span>(<span style="color: #009900">ConnPid</span>, <span style="color: #009900">Path</span>, <span style="color: #009900">Headers</span>, <span style="color: #009900">ReqOpts</span>) + <span style="color: #990000">-></span> <span style="color: #009900">StreamRef</span> + +<span style="color: #009900">ConnPid</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">pid</span></span>() +<span style="color: #009900">Path</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">iodata</span></span>() +<span style="color: #009900">Headers</span> <span style="color: #990000">::</span> [{<span style="font-weight: bold"><span style="color: #000080">binary</span></span>(), <span style="font-weight: bold"><span style="color: #000000">iodata</span></span>()}] +<span style="color: #009900">ReqOpts</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">gun:req_opts</span></span>() +<span style="color: #009900">StreamRef</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">reference</span></span>()</tt></pre></div></div> +<div class="paragraph"><p>Query the capabilities of the server or a resource.</p></div> +<div class="paragraph"><p>The special path <code>"*"</code> can be used to obtain information about +the server as a whole. Any other path will return information +about that resource specifically.</p></div> +</div> +</div> +<div class="sect1"> +<h2 id="_arguments">Arguments</h2> +<div class="sectionbody"> +<div class="dlist"><dl> +<dt class="hdlist1"> +ConnPid +</dt> +<dd> +<p> +The pid of the Gun connection process. +</p> +</dd> +<dt class="hdlist1"> +Path +</dt> +<dd> +<p> +Path to the resource. +</p> +</dd> +<dt class="hdlist1"> +Headers +</dt> +<dd> +<p> +Additional request headers. +</p> +</dd> +<dt class="hdlist1"> +ReqOpts +</dt> +<dd> +<p> +Request options. +</p> +</dd> +</dl></div> +</div> +</div> +<div class="sect1"> +<h2 id="_return_value">Return value</h2> +<div class="sectionbody"> +<div class="paragraph"><p>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.</p></div> +</div> +</div> +<div class="sect1"> +<h2 id="_changelog">Changelog</h2> +<div class="sectionbody"> +<div class="ulist"><ul> +<li> +<p> +<strong>1.0</strong>: Function introduced. +</p> +</li> +</ul></div> +</div> +</div> +<div class="sect1"> +<h2 id="_examples">Examples</h2> +<div class="sectionbody"> +<div class="listingblock"> +<div class="title">Query the capabilities of the server</div> +<div class="content"><!-- Generator: GNU source-highlight +by Lorenzo Bettini +http://www.lorenzobettini.it +http://www.gnu.org/software/src-highlite --> +<pre><tt><span style="color: #009900">StreamRef</span> <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">gun:options</span></span>(<span style="color: #009900">ConnPid</span>, <span style="color: #FF0000">"*"</span>)<span style="color: #990000">.</span></tt></pre></div></div> +<div class="listingblock"> +<div class="title">Query the capabilities of a resource</div> +<div class="content"><!-- Generator: GNU source-highlight +by Lorenzo Bettini +http://www.lorenzobettini.it +http://www.gnu.org/software/src-highlite --> +<pre><tt><span style="color: #009900">StreamRef</span> <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">gun:options</span></span>(<span style="color: #009900">ConnPid</span>, <span style="color: #FF0000">"/articles"</span>)<span style="color: #990000">.</span></tt></pre></div></div> +</div> +</div> +<div class="sect1"> +<h2 id="_see_also">See also</h2> +<div class="sectionbody"> +<div class="paragraph"><p><a href="../gun">gun(3)</a>, +<a href="../gun.await">gun:await(3)</a>, +<a href="../gun.await_body">gun:await_body(3)</a>, +<a href="../gun_inform">gun_inform(3)</a>, +<a href="../gun_response">gun_response(3)</a>, +<a href="../gun_data">gun_data(3)</a></p></div> +</div> +</div> + + + + + +</div> + +<div class="span3 sidecol"> + + +<h3> + Gun + 1.0 + Function Reference + +</h3> + +<ul> + + <li><a href="/docs/en/gun/1.0/guide">User Guide</a></li> + + + <li><a href="/docs/en/gun/1.0/manual">Function Reference</a></li> + + +</ul> + +<h4 id="docs-nav">Navigation</h4> + +<h4>Version select</h4> +<ul> + + + + <li><a href="/docs/en/gun/1.0/manual">1.0</a></li> + +</ul> + +</div> +</div> +</div> +</div> + + <footer> + <div class="container"> + <div class="row"> + <div class="span6"> + <p id="scroll-top"><a href="#">↑ Scroll to top</a></p> + <nav> + <ul> + <li><a href="mailto:[email protected]" title="Contact us">Contact us</a></li><li><a href="https://github.com/ninenines/ninenines.github.io" title="Github repository">Contribute to this site</a></li> + </ul> + </nav> + </div> + <div class="span6 credits"> + <p><img src="/img/footer_logo.png"></p> + <p>Copyright © Loïc Hoguin 2012-2018</p> + </div> + </div> + </div> + </footer> + + + <script src="/js/custom.js"></script> + </body> +</html> + + diff --git a/docs/en/gun/1.0/manual/gun.patch/index.html b/docs/en/gun/1.0/manual/gun.patch/index.html new file mode 100644 index 00000000..54ab78b4 --- /dev/null +++ b/docs/en/gun/1.0/manual/gun.patch/index.html @@ -0,0 +1,294 @@ +<!DOCTYPE html> +<html lang="en"> + +<head> + <meta charset="utf-8"> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + <meta name="description" content=""> + <meta name="author" content="Loïc Hoguin based on a design from (Soft10) Pol Cámara"> + + <title>Nine Nines: gun:patch(3)</title> + + <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic' rel='stylesheet' type='text/css'> + <link href="/css/99s.css?r=1" rel="stylesheet"> + + <link rel="shortcut icon" href="/img/ico/favicon.ico"> + <link rel="apple-touch-icon-precomposed" sizes="114x114" href="/img/ico/apple-touch-icon-114.png"> + <link rel="apple-touch-icon-precomposed" sizes="72x72" href="/img/ico/apple-touch-icon-72.png"> + <link rel="apple-touch-icon-precomposed" href="/img/ico/apple-touch-icon-57.png"> + + +</head> + + +<body class=""> + <header id="page-head"> + <div id="topbar" class="container"> + <div class="row"> + <div class="span2"> + <h1 id="logo"><a href="/" title="99s">99s</a></h1> + </div> + <div class="span10"> + + <div id="side-header"> + <nav> + <ul> + <li><a title="Hear my thoughts" href="/articles">Articles</a></li> + <li><a title="Watch my talks" href="/talks">Talks</a></li> + <li class="active"><a title="Read the docs" href="/docs">Documentation</a></li> + <li><a title="Request my services" href="/services">Consulting & Training</a></li> + </ul> + </nav> + <ul id="social"> + <li> + <a href="https://github.com/ninenines" title="Check my Github repositories"><img src="/img/ico_github.png" data-hover="/img/ico_github_alt.png" alt="Github"></a> + </li> + <li> + <a title="Contact me" href="mailto:[email protected]"><img src="/img/ico_mail.png" data-hover="/img/ico_mail_alt.png"></a> + </li> + </ul> + </div> + </div> + </div> + </div> + + +</header> + +<div id="contents" class="two_col"> +<div class="container"> +<div class="row"> +<div id="docs" class="span9 maincol"> + +<h1 class="lined-header"><span>gun:patch(3)</span></h1> + +<div class="sect1"> +<h2 id="_name">Name</h2> +<div class="sectionbody"> +<div class="paragraph"><p>gun:patch - Apply a set of changes to a resource</p></div> +</div> +</div> +<div class="sect1"> +<h2 id="_description">Description</h2> +<div class="sectionbody"> +<div class="listingblock"> +<div class="content"><!-- Generator: GNU source-highlight +by Lorenzo Bettini +http://www.lorenzobettini.it +http://www.gnu.org/software/src-highlite --> +<pre><tt><span style="font-weight: bold"><span style="color: #000000">patch</span></span>(<span style="color: #009900">ConnPid</span>, <span style="color: #009900">Path</span>, <span style="color: #009900">Headers</span>) + <span style="color: #990000">-></span> <span style="color: #009900">StreamRef</span> + +<span style="font-weight: bold"><span style="color: #000000">patch</span></span>(<span style="color: #009900">ConnPid</span>, <span style="color: #009900">Path</span>, <span style="color: #009900">Headers</span>, <span style="color: #009900">Body</span>) + <span style="color: #990000">-></span> <span style="font-weight: bold"><span style="color: #000000">patch</span></span>(<span style="color: #009900">ConnPid</span>, <span style="color: #009900">Path</span>, <span style="color: #009900">Headers</span>, <span style="color: #009900">Body</span>, #{}) + +<span style="font-weight: bold"><span style="color: #000000">patch</span></span>(<span style="color: #009900">ConnPid</span>, <span style="color: #009900">Path</span>, <span style="color: #009900">Headers</span>, <span style="color: #009900">Body</span>, <span style="color: #009900">ReqOpts</span>) + <span style="color: #990000">-></span> <span style="color: #009900">StreamRef</span> + +<span style="color: #009900">ConnPid</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">pid</span></span>() +<span style="color: #009900">Path</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">iodata</span></span>() +<span style="color: #009900">Headers</span> <span style="color: #990000">::</span> [{<span style="font-weight: bold"><span style="color: #000080">binary</span></span>(), <span style="font-weight: bold"><span style="color: #000000">iodata</span></span>()}] +<span style="color: #009900">Body</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">iodata</span></span>() +<span style="color: #009900">ReqOpts</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">gun:req_opts</span></span>() +<span style="color: #009900">StreamRef</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">reference</span></span>()</tt></pre></div></div> +<div class="paragraph"><p>Apply a set of changes to a resource.</p></div> +<div class="paragraph"><p>The behavior of this function varies depending on whether +a body is provided.</p></div> +<div class="paragraph"><p>The function <code>patch/3</code> expects either a content-length +or content-type header to indicate that a body will be +sent afterwards. The body can then be sent using +<a href="../gun.data">gun:data(3)</a>.</p></div> +<div class="paragraph"><p>The function <code>patch/4,5</code> sends the entire request, including +the request body, immediately. It is therefore not possible +to use <a href="../gun.data">gun:data(3)</a> after that. You +should provide a content-type header. Gun will set the +content-length header automatically.</p></div> +<div class="paragraph"><p>The body sent in this request should be a patch document +with instructions on how to update the resource.</p></div> +</div> +</div> +<div class="sect1"> +<h2 id="_arguments">Arguments</h2> +<div class="sectionbody"> +<div class="dlist"><dl> +<dt class="hdlist1"> +ConnPid +</dt> +<dd> +<p> +The pid of the Gun connection process. +</p> +</dd> +<dt class="hdlist1"> +Path +</dt> +<dd> +<p> +Path to the resource. +</p> +</dd> +<dt class="hdlist1"> +Headers +</dt> +<dd> +<p> +Additional request headers. +</p> +</dd> +<dt class="hdlist1"> +Body +</dt> +<dd> +<p> +Request body. +</p> +</dd> +<dt class="hdlist1"> +ReqOpts +</dt> +<dd> +<p> +Request options. +</p> +</dd> +</dl></div> +</div> +</div> +<div class="sect1"> +<h2 id="_return_value">Return value</h2> +<div class="sectionbody"> +<div class="paragraph"><p>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.</p></div> +</div> +</div> +<div class="sect1"> +<h2 id="_changelog">Changelog</h2> +<div class="sectionbody"> +<div class="ulist"><ul> +<li> +<p> +<strong>1.0</strong>: Function introduced. +</p> +</li> +</ul></div> +</div> +</div> +<div class="sect1"> +<h2 id="_examples">Examples</h2> +<div class="sectionbody"> +<div class="listingblock"> +<div class="title">Patch a resource</div> +<div class="content"><!-- Generator: GNU source-highlight +by Lorenzo Bettini +http://www.lorenzobettini.it +http://www.gnu.org/software/src-highlite --> +<pre><tt><span style="color: #009900">StreamRef</span> <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">gun:patch</span></span>(<span style="color: #009900">ConnPid</span>, <span style="color: #FF0000">"/users/1"</span>, + [{<span style="color: #990000"><<</span><span style="color: #FF0000">"content-type"</span><span style="color: #990000">>></span>, <span style="color: #990000"><<</span><span style="color: #FF0000">"application/json-patch+json"</span><span style="color: #990000">>></span>}], + <span style="color: #990000"><<</span><span style="color: #FF0000">"[{\"op\":\"add\",\"path\":\"/baz\",\"value\":\"qux\"}]"</span><span style="color: #990000">>></span>)<span style="color: #990000">.</span></tt></pre></div></div> +<div class="listingblock"> +<div class="title">Patch a resource in multiple calls</div> +<div class="content"><!-- Generator: GNU source-highlight +by Lorenzo Bettini +http://www.lorenzobettini.it +http://www.gnu.org/software/src-highlite --> +<pre><tt><span style="color: #009900">StreamRef</span> <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">gun:patch</span></span>(<span style="color: #009900">ConnPid</span>, <span style="color: #FF0000">"/users/1"</span>, [ + {<span style="color: #990000"><<</span><span style="color: #FF0000">"content-type"</span><span style="color: #990000">>></span>, <span style="color: #990000"><<</span><span style="color: #FF0000">"application/json-patch+json"</span><span style="color: #990000">>></span>} +])<span style="color: #990000">.</span> +<span style="font-weight: bold"><span style="color: #000000">gun:data</span></span>(<span style="color: #009900">ConnPid</span>, <span style="color: #009900">StreamRef</span>, <span style="color: #FF6600">fin</span>, + <span style="color: #990000"><<</span><span style="color: #FF0000">"[{\"op\":\"add\",\"path\":\"/baz\",\"value\":\"qux\"}]"</span><span style="color: #990000">>></span>)<span style="color: #990000">.</span></tt></pre></div></div> +<div class="listingblock"> +<div class="title">Patch a resource with request options</div> +<div class="content"><!-- Generator: GNU source-highlight +by Lorenzo Bettini +http://www.lorenzobettini.it +http://www.gnu.org/software/src-highlite --> +<pre><tt><span style="color: #009900">StreamRef</span> <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">gun:patch</span></span>(<span style="color: #009900">ConnPid</span>, <span style="color: #FF0000">"/users/1"</span>, + [{<span style="color: #990000"><<</span><span style="color: #FF0000">"content-type"</span><span style="color: #990000">>></span>, <span style="color: #990000"><<</span><span style="color: #FF0000">"application/json-patch+json"</span><span style="color: #990000">>></span>}], + <span style="color: #990000"><<</span><span style="color: #FF0000">"[{\"op\":\"add\",\"path\":\"/baz\",\"value\":\"qux\"}]"</span><span style="color: #990000">>></span>, + #{<span style="color: #0000FF">reply_to</span> <span style="color: #990000">=></span> <span style="color: #009900">ReplyToPid</span>})<span style="color: #990000">.</span></tt></pre></div></div> +</div> +</div> +<div class="sect1"> +<h2 id="_see_also">See also</h2> +<div class="sectionbody"> +<div class="paragraph"><p><a href="../gun">gun(3)</a>, +<a href="../gun.post">gun:post(3)</a>, +<a href="../gun.put">gun:put(3)</a>, +<a href="../gun.await">gun:await(3)</a>, +<a href="../gun.await_body">gun:await_body(3)</a>, +<a href="../gun_push">gun_push(3)</a>, +<a href="../gun_inform">gun_inform(3)</a>, +<a href="../gun_response">gun_response(3)</a>, +<a href="../gun_data">gun_data(3)</a></p></div> +</div> +</div> + + + + + +</div> + +<div class="span3 sidecol"> + + +<h3> + Gun + 1.0 + Function Reference + +</h3> + +<ul> + + <li><a href="/docs/en/gun/1.0/guide">User Guide</a></li> + + + <li><a href="/docs/en/gun/1.0/manual">Function Reference</a></li> + + +</ul> + +<h4 id="docs-nav">Navigation</h4> + +<h4>Version select</h4> +<ul> + + + + <li><a href="/docs/en/gun/1.0/manual">1.0</a></li> + +</ul> + +</div> +</div> +</div> +</div> + + <footer> + <div class="container"> + <div class="row"> + <div class="span6"> + <p id="scroll-top"><a href="#">↑ Scroll to top</a></p> + <nav> + <ul> + <li><a href="mailto:[email protected]" title="Contact us">Contact us</a></li><li><a href="https://github.com/ninenines/ninenines.github.io" title="Github repository">Contribute to this site</a></li> + </ul> + </nav> + </div> + <div class="span6 credits"> + <p><img src="/img/footer_logo.png"></p> + <p>Copyright © Loïc Hoguin 2012-2018</p> + </div> + </div> + </div> + </footer> + + + <script src="/js/custom.js"></script> + </body> +</html> + + diff --git a/docs/en/gun/1.0/manual/gun.post/index.html b/docs/en/gun/1.0/manual/gun.post/index.html new file mode 100644 index 00000000..9f6ee6e2 --- /dev/null +++ b/docs/en/gun/1.0/manual/gun.post/index.html @@ -0,0 +1,292 @@ +<!DOCTYPE html> +<html lang="en"> + +<head> + <meta charset="utf-8"> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + <meta name="description" content=""> + <meta name="author" content="Loïc Hoguin based on a design from (Soft10) Pol Cámara"> + + <title>Nine Nines: gun:post(3)</title> + + <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic' rel='stylesheet' type='text/css'> + <link href="/css/99s.css?r=1" rel="stylesheet"> + + <link rel="shortcut icon" href="/img/ico/favicon.ico"> + <link rel="apple-touch-icon-precomposed" sizes="114x114" href="/img/ico/apple-touch-icon-114.png"> + <link rel="apple-touch-icon-precomposed" sizes="72x72" href="/img/ico/apple-touch-icon-72.png"> + <link rel="apple-touch-icon-precomposed" href="/img/ico/apple-touch-icon-57.png"> + + +</head> + + +<body class=""> + <header id="page-head"> + <div id="topbar" class="container"> + <div class="row"> + <div class="span2"> + <h1 id="logo"><a href="/" title="99s">99s</a></h1> + </div> + <div class="span10"> + + <div id="side-header"> + <nav> + <ul> + <li><a title="Hear my thoughts" href="/articles">Articles</a></li> + <li><a title="Watch my talks" href="/talks">Talks</a></li> + <li class="active"><a title="Read the docs" href="/docs">Documentation</a></li> + <li><a title="Request my services" href="/services">Consulting & Training</a></li> + </ul> + </nav> + <ul id="social"> + <li> + <a href="https://github.com/ninenines" title="Check my Github repositories"><img src="/img/ico_github.png" data-hover="/img/ico_github_alt.png" alt="Github"></a> + </li> + <li> + <a title="Contact me" href="mailto:[email protected]"><img src="/img/ico_mail.png" data-hover="/img/ico_mail_alt.png"></a> + </li> + </ul> + </div> + </div> + </div> + </div> + + +</header> + +<div id="contents" class="two_col"> +<div class="container"> +<div class="row"> +<div id="docs" class="span9 maincol"> + +<h1 class="lined-header"><span>gun:post(3)</span></h1> + +<div class="sect1"> +<h2 id="_name">Name</h2> +<div class="sectionbody"> +<div class="paragraph"><p>gun:post - Process the enclosed representation according to a resource’s own semantics</p></div> +</div> +</div> +<div class="sect1"> +<h2 id="_description">Description</h2> +<div class="sectionbody"> +<div class="listingblock"> +<div class="content"><!-- Generator: GNU source-highlight +by Lorenzo Bettini +http://www.lorenzobettini.it +http://www.gnu.org/software/src-highlite --> +<pre><tt><span style="font-weight: bold"><span style="color: #000000">post</span></span>(<span style="color: #009900">ConnPid</span>, <span style="color: #009900">Path</span>, <span style="color: #009900">Headers</span>) + <span style="color: #990000">-></span> <span style="color: #009900">StreamRef</span> + +<span style="font-weight: bold"><span style="color: #000000">post</span></span>(<span style="color: #009900">ConnPid</span>, <span style="color: #009900">Path</span>, <span style="color: #009900">Headers</span>, <span style="color: #009900">Body</span>) + <span style="color: #990000">-></span> <span style="font-weight: bold"><span style="color: #000000">post</span></span>(<span style="color: #009900">ConnPid</span>, <span style="color: #009900">Path</span>, <span style="color: #009900">Headers</span>, <span style="color: #009900">Body</span>, #{}) + +<span style="font-weight: bold"><span style="color: #000000">post</span></span>(<span style="color: #009900">ConnPid</span>, <span style="color: #009900">Path</span>, <span style="color: #009900">Headers</span>, <span style="color: #009900">Body</span>, <span style="color: #009900">ReqOpts</span>) + <span style="color: #990000">-></span> <span style="color: #009900">StreamRef</span> + +<span style="color: #009900">ConnPid</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">pid</span></span>() +<span style="color: #009900">Path</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">iodata</span></span>() +<span style="color: #009900">Headers</span> <span style="color: #990000">::</span> [{<span style="font-weight: bold"><span style="color: #000080">binary</span></span>(), <span style="font-weight: bold"><span style="color: #000000">iodata</span></span>()}] +<span style="color: #009900">Body</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">iodata</span></span>() +<span style="color: #009900">ReqOpts</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">gun:req_opts</span></span>() +<span style="color: #009900">StreamRef</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">reference</span></span>()</tt></pre></div></div> +<div class="paragraph"><p>Process the enclosed representation according to a resource’s +own semantics.</p></div> +<div class="paragraph"><p>The behavior of this function varies depending on whether +a body is provided.</p></div> +<div class="paragraph"><p>The function <code>post/3</code> expects either a content-length +or content-type header to indicate that a body will be +sent afterwards. The body can then be sent using +<a href="../gun.data">gun:data(3)</a>.</p></div> +<div class="paragraph"><p>The function <code>post/4,5</code> sends the entire request, including +the request body, immediately. It is therefore not possible +to use <a href="../gun.data">gun:data(3)</a> after that. You +should provide a content-type header. Gun will set the +content-length header automatically.</p></div> +</div> +</div> +<div class="sect1"> +<h2 id="_arguments">Arguments</h2> +<div class="sectionbody"> +<div class="dlist"><dl> +<dt class="hdlist1"> +ConnPid +</dt> +<dd> +<p> +The pid of the Gun connection process. +</p> +</dd> +<dt class="hdlist1"> +Path +</dt> +<dd> +<p> +Path to the resource. +</p> +</dd> +<dt class="hdlist1"> +Headers +</dt> +<dd> +<p> +Additional request headers. +</p> +</dd> +<dt class="hdlist1"> +Body +</dt> +<dd> +<p> +Request body. +</p> +</dd> +<dt class="hdlist1"> +ReqOpts +</dt> +<dd> +<p> +Request options. +</p> +</dd> +</dl></div> +</div> +</div> +<div class="sect1"> +<h2 id="_return_value">Return value</h2> +<div class="sectionbody"> +<div class="paragraph"><p>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.</p></div> +</div> +</div> +<div class="sect1"> +<h2 id="_changelog">Changelog</h2> +<div class="sectionbody"> +<div class="ulist"><ul> +<li> +<p> +<strong>1.0</strong>: Function introduced. +</p> +</li> +</ul></div> +</div> +</div> +<div class="sect1"> +<h2 id="_examples">Examples</h2> +<div class="sectionbody"> +<div class="listingblock"> +<div class="title">Post to a resource</div> +<div class="content"><!-- Generator: GNU source-highlight +by Lorenzo Bettini +http://www.lorenzobettini.it +http://www.gnu.org/software/src-highlite --> +<pre><tt><span style="color: #009900">StreamRef</span> <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">gun:post</span></span>(<span style="color: #009900">ConnPid</span>, <span style="color: #FF0000">"/search"</span>, + [{<span style="color: #990000"><<</span><span style="color: #FF0000">"content-type"</span><span style="color: #990000">>></span>, <span style="color: #990000"><<</span><span style="color: #FF0000">"application/x-www-form-urlencoded"</span><span style="color: #990000">>></span>}], + <span style="color: #990000"><<</span><span style="color: #FF0000">"q=nine%20nines"</span><span style="color: #990000">>></span>)<span style="color: #990000">.</span></tt></pre></div></div> +<div class="listingblock"> +<div class="title">Post to a resource in multiple calls</div> +<div class="content"><!-- Generator: GNU source-highlight +by Lorenzo Bettini +http://www.lorenzobettini.it +http://www.gnu.org/software/src-highlite --> +<pre><tt><span style="color: #009900">StreamRef</span> <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">gun:post</span></span>(<span style="color: #009900">ConnPid</span>, <span style="color: #FF0000">"/search"</span>, [ + {<span style="color: #990000"><<</span><span style="color: #FF0000">"content-type"</span><span style="color: #990000">>></span>, <span style="color: #990000"><<</span><span style="color: #FF0000">"application/x-www-form-urlencoded"</span><span style="color: #990000">>></span>} +])<span style="color: #990000">.</span> +<span style="font-weight: bold"><span style="color: #000000">gun:data</span></span>(<span style="color: #009900">ConnPid</span>, <span style="color: #009900">StreamRef</span>, <span style="color: #FF6600">fin</span>, <span style="color: #990000"><<</span><span style="color: #FF0000">"q=nine%20nines"</span><span style="color: #990000">>></span>)<span style="color: #990000">.</span></tt></pre></div></div> +<div class="listingblock"> +<div class="title">Post to a resource with request options</div> +<div class="content"><!-- Generator: GNU source-highlight +by Lorenzo Bettini +http://www.lorenzobettini.it +http://www.gnu.org/software/src-highlite --> +<pre><tt><span style="color: #009900">StreamRef</span> <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">gun:post</span></span>(<span style="color: #009900">ConnPid</span>, <span style="color: #FF0000">"/search"</span>, + [{<span style="color: #990000"><<</span><span style="color: #FF0000">"content-type"</span><span style="color: #990000">>></span>, <span style="color: #990000"><<</span><span style="color: #FF0000">"application/x-www-form-urlencoded"</span><span style="color: #990000">>></span>}], + <span style="color: #990000"><<</span><span style="color: #FF0000">"q=nine%20nines"</span><span style="color: #990000">>></span>, + #{<span style="color: #0000FF">reply_to</span> <span style="color: #990000">=></span> <span style="color: #009900">ReplyToPid</span>})<span style="color: #990000">.</span></tt></pre></div></div> +</div> +</div> +<div class="sect1"> +<h2 id="_see_also">See also</h2> +<div class="sectionbody"> +<div class="paragraph"><p><a href="../gun">gun(3)</a>, +<a href="../gun.patch">gun:patch(3)</a>, +<a href="../gun.put">gun:put(3)</a>, +<a href="../gun.await">gun:await(3)</a>, +<a href="../gun.await_body">gun:await_body(3)</a>, +<a href="../gun_push">gun_push(3)</a>, +<a href="../gun_inform">gun_inform(3)</a>, +<a href="../gun_response">gun_response(3)</a>, +<a href="../gun_data">gun_data(3)</a></p></div> +</div> +</div> + + + + + +</div> + +<div class="span3 sidecol"> + + +<h3> + Gun + 1.0 + Function Reference + +</h3> + +<ul> + + <li><a href="/docs/en/gun/1.0/guide">User Guide</a></li> + + + <li><a href="/docs/en/gun/1.0/manual">Function Reference</a></li> + + +</ul> + +<h4 id="docs-nav">Navigation</h4> + +<h4>Version select</h4> +<ul> + + + + <li><a href="/docs/en/gun/1.0/manual">1.0</a></li> + +</ul> + +</div> +</div> +</div> +</div> + + <footer> + <div class="container"> + <div class="row"> + <div class="span6"> + <p id="scroll-top"><a href="#">↑ Scroll to top</a></p> + <nav> + <ul> + <li><a href="mailto:[email protected]" title="Contact us">Contact us</a></li><li><a href="https://github.com/ninenines/ninenines.github.io" title="Github repository">Contribute to this site</a></li> + </ul> + </nav> + </div> + <div class="span6 credits"> + <p><img src="/img/footer_logo.png"></p> + <p>Copyright © Loïc Hoguin 2012-2018</p> + </div> + </div> + </div> + </footer> + + + <script src="/js/custom.js"></script> + </body> +</html> + + diff --git a/docs/en/gun/1.0/manual/gun.put/index.html b/docs/en/gun/1.0/manual/gun.put/index.html new file mode 100644 index 00000000..ae72aded --- /dev/null +++ b/docs/en/gun/1.0/manual/gun.put/index.html @@ -0,0 +1,291 @@ +<!DOCTYPE html> +<html lang="en"> + +<head> + <meta charset="utf-8"> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + <meta name="description" content=""> + <meta name="author" content="Loïc Hoguin based on a design from (Soft10) Pol Cámara"> + + <title>Nine Nines: gun:put(3)</title> + + <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic' rel='stylesheet' type='text/css'> + <link href="/css/99s.css?r=1" rel="stylesheet"> + + <link rel="shortcut icon" href="/img/ico/favicon.ico"> + <link rel="apple-touch-icon-precomposed" sizes="114x114" href="/img/ico/apple-touch-icon-114.png"> + <link rel="apple-touch-icon-precomposed" sizes="72x72" href="/img/ico/apple-touch-icon-72.png"> + <link rel="apple-touch-icon-precomposed" href="/img/ico/apple-touch-icon-57.png"> + + +</head> + + +<body class=""> + <header id="page-head"> + <div id="topbar" class="container"> + <div class="row"> + <div class="span2"> + <h1 id="logo"><a href="/" title="99s">99s</a></h1> + </div> + <div class="span10"> + + <div id="side-header"> + <nav> + <ul> + <li><a title="Hear my thoughts" href="/articles">Articles</a></li> + <li><a title="Watch my talks" href="/talks">Talks</a></li> + <li class="active"><a title="Read the docs" href="/docs">Documentation</a></li> + <li><a title="Request my services" href="/services">Consulting & Training</a></li> + </ul> + </nav> + <ul id="social"> + <li> + <a href="https://github.com/ninenines" title="Check my Github repositories"><img src="/img/ico_github.png" data-hover="/img/ico_github_alt.png" alt="Github"></a> + </li> + <li> + <a title="Contact me" href="mailto:[email protected]"><img src="/img/ico_mail.png" data-hover="/img/ico_mail_alt.png"></a> + </li> + </ul> + </div> + </div> + </div> + </div> + + +</header> + +<div id="contents" class="two_col"> +<div class="container"> +<div class="row"> +<div id="docs" class="span9 maincol"> + +<h1 class="lined-header"><span>gun:put(3)</span></h1> + +<div class="sect1"> +<h2 id="_name">Name</h2> +<div class="sectionbody"> +<div class="paragraph"><p>gun:put - Create or replace a resource</p></div> +</div> +</div> +<div class="sect1"> +<h2 id="_description">Description</h2> +<div class="sectionbody"> +<div class="listingblock"> +<div class="content"><!-- Generator: GNU source-highlight +by Lorenzo Bettini +http://www.lorenzobettini.it +http://www.gnu.org/software/src-highlite --> +<pre><tt><span style="font-weight: bold"><span style="color: #000080">put</span></span>(<span style="color: #009900">ConnPid</span>, <span style="color: #009900">Path</span>, <span style="color: #009900">Headers</span>) + <span style="color: #990000">-></span> <span style="color: #009900">StreamRef</span> + +<span style="font-weight: bold"><span style="color: #000080">put</span></span>(<span style="color: #009900">ConnPid</span>, <span style="color: #009900">Path</span>, <span style="color: #009900">Headers</span>, <span style="color: #009900">Body</span>) + <span style="color: #990000">-></span> <span style="font-weight: bold"><span style="color: #000080">put</span></span>(<span style="color: #009900">ConnPid</span>, <span style="color: #009900">Path</span>, <span style="color: #009900">Headers</span>, <span style="color: #009900">Body</span>, #{}) + +<span style="font-weight: bold"><span style="color: #000080">put</span></span>(<span style="color: #009900">ConnPid</span>, <span style="color: #009900">Path</span>, <span style="color: #009900">Headers</span>, <span style="color: #009900">Body</span>, <span style="color: #009900">ReqOpts</span>) + <span style="color: #990000">-></span> <span style="color: #009900">StreamRef</span> + +<span style="color: #009900">ConnPid</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">pid</span></span>() +<span style="color: #009900">Path</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">iodata</span></span>() +<span style="color: #009900">Headers</span> <span style="color: #990000">::</span> [{<span style="font-weight: bold"><span style="color: #000080">binary</span></span>(), <span style="font-weight: bold"><span style="color: #000000">iodata</span></span>()}] +<span style="color: #009900">Body</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">iodata</span></span>() +<span style="color: #009900">ReqOpts</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">gun:req_opts</span></span>() +<span style="color: #009900">StreamRef</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">reference</span></span>()</tt></pre></div></div> +<div class="paragraph"><p>Create or replace a resource.</p></div> +<div class="paragraph"><p>The behavior of this function varies depending on whether +a body is provided.</p></div> +<div class="paragraph"><p>The function <code>put/3</code> expects either a content-length +or content-type header to indicate that a body will be +sent afterwards. The body can then be sent using +<a href="../gun.data">gun:data(3)</a>.</p></div> +<div class="paragraph"><p>The function <code>put/4,5</code> sends the entire request, including +the request body, immediately. It is therefore not possible +to use <a href="../gun.data">gun:data(3)</a> after that. You +should provide a content-type header. Gun will set the +content-length header automatically.</p></div> +</div> +</div> +<div class="sect1"> +<h2 id="_arguments">Arguments</h2> +<div class="sectionbody"> +<div class="dlist"><dl> +<dt class="hdlist1"> +ConnPid +</dt> +<dd> +<p> +The pid of the Gun connection process. +</p> +</dd> +<dt class="hdlist1"> +Path +</dt> +<dd> +<p> +Path to the resource. +</p> +</dd> +<dt class="hdlist1"> +Headers +</dt> +<dd> +<p> +Additional request headers. +</p> +</dd> +<dt class="hdlist1"> +Body +</dt> +<dd> +<p> +Request body. +</p> +</dd> +<dt class="hdlist1"> +ReqOpts +</dt> +<dd> +<p> +Request options. +</p> +</dd> +</dl></div> +</div> +</div> +<div class="sect1"> +<h2 id="_return_value">Return value</h2> +<div class="sectionbody"> +<div class="paragraph"><p>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.</p></div> +</div> +</div> +<div class="sect1"> +<h2 id="_changelog">Changelog</h2> +<div class="sectionbody"> +<div class="ulist"><ul> +<li> +<p> +<strong>1.0</strong>: Function introduced. +</p> +</li> +</ul></div> +</div> +</div> +<div class="sect1"> +<h2 id="_examples">Examples</h2> +<div class="sectionbody"> +<div class="listingblock"> +<div class="title">Put a resource</div> +<div class="content"><!-- Generator: GNU source-highlight +by Lorenzo Bettini +http://www.lorenzobettini.it +http://www.gnu.org/software/src-highlite --> +<pre><tt><span style="color: #009900">StreamRef</span> <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">gun:put</span></span>(<span style="color: #009900">ConnPid</span>, <span style="color: #FF0000">"/lang/fr_FR/hello"</span>, + [{<span style="color: #990000"><<</span><span style="color: #FF0000">"content-type"</span><span style="color: #990000">>></span>, <span style="color: #990000"><<</span><span style="color: #FF0000">"text/plain"</span><span style="color: #990000">>></span>}], + <span style="color: #990000"><<</span><span style="color: #FF0000">"Bonjour !"</span><span style="color: #990000">>></span>)<span style="color: #990000">.</span></tt></pre></div></div> +<div class="listingblock"> +<div class="title">Put a resource in multiple calls</div> +<div class="content"><!-- Generator: GNU source-highlight +by Lorenzo Bettini +http://www.lorenzobettini.it +http://www.gnu.org/software/src-highlite --> +<pre><tt><span style="color: #009900">StreamRef</span> <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">gun:put</span></span>(<span style="color: #009900">ConnPid</span>, <span style="color: #FF0000">"/lang/fr_FR/hello"</span>, [ + {<span style="color: #990000"><<</span><span style="color: #FF0000">"content-type"</span><span style="color: #990000">>></span>, <span style="color: #990000"><<</span><span style="color: #FF0000">"text/plain"</span><span style="color: #990000">>></span>} +])<span style="color: #990000">.</span> +<span style="font-weight: bold"><span style="color: #000000">gun:data</span></span>(<span style="color: #009900">ConnPid</span>, <span style="color: #009900">StreamRef</span>, <span style="color: #FF6600">fin</span>, <span style="color: #990000"><<</span><span style="color: #FF0000">"Bonjour !"</span><span style="color: #990000">>></span>)<span style="color: #990000">.</span></tt></pre></div></div> +<div class="listingblock"> +<div class="title">Put a resource with request options</div> +<div class="content"><!-- Generator: GNU source-highlight +by Lorenzo Bettini +http://www.lorenzobettini.it +http://www.gnu.org/software/src-highlite --> +<pre><tt><span style="color: #009900">StreamRef</span> <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">gun:put</span></span>(<span style="color: #009900">ConnPid</span>, <span style="color: #FF0000">"/lang/fr_FR/hello"</span>, + [{<span style="color: #990000"><<</span><span style="color: #FF0000">"content-type"</span><span style="color: #990000">>></span>, <span style="color: #990000"><<</span><span style="color: #FF0000">"text/plain"</span><span style="color: #990000">>></span>}], + <span style="color: #990000"><<</span><span style="color: #FF0000">"Bonjour !"</span><span style="color: #990000">>></span>, + #{<span style="color: #0000FF">reply_to</span> <span style="color: #990000">=></span> <span style="color: #009900">ReplyToPid</span>})<span style="color: #990000">.</span></tt></pre></div></div> +</div> +</div> +<div class="sect1"> +<h2 id="_see_also">See also</h2> +<div class="sectionbody"> +<div class="paragraph"><p><a href="../gun">gun(3)</a>, +<a href="../gun.patch">gun:patch(3)</a>, +<a href="../gun.post">gun:post(3)</a>, +<a href="../gun.await">gun:await(3)</a>, +<a href="../gun.await_body">gun:await_body(3)</a>, +<a href="../gun_push">gun_push(3)</a>, +<a href="../gun_inform">gun_inform(3)</a>, +<a href="../gun_response">gun_response(3)</a>, +<a href="../gun_data">gun_data(3)</a></p></div> +</div> +</div> + + + + + +</div> + +<div class="span3 sidecol"> + + +<h3> + Gun + 1.0 + Function Reference + +</h3> + +<ul> + + <li><a href="/docs/en/gun/1.0/guide">User Guide</a></li> + + + <li><a href="/docs/en/gun/1.0/manual">Function Reference</a></li> + + +</ul> + +<h4 id="docs-nav">Navigation</h4> + +<h4>Version select</h4> +<ul> + + + + <li><a href="/docs/en/gun/1.0/manual">1.0</a></li> + +</ul> + +</div> +</div> +</div> +</div> + + <footer> + <div class="container"> + <div class="row"> + <div class="span6"> + <p id="scroll-top"><a href="#">↑ Scroll to top</a></p> + <nav> + <ul> + <li><a href="mailto:[email protected]" title="Contact us">Contact us</a></li><li><a href="https://github.com/ninenines/ninenines.github.io" title="Github repository">Contribute to this site</a></li> + </ul> + </nav> + </div> + <div class="span6 credits"> + <p><img src="/img/footer_logo.png"></p> + <p>Copyright © Loïc Hoguin 2012-2018</p> + </div> + </div> + </div> + </footer> + + + <script src="/js/custom.js"></script> + </body> +</html> + + diff --git a/docs/en/gun/1.0/manual/gun.request/index.html b/docs/en/gun/1.0/manual/gun.request/index.html new file mode 100644 index 00000000..e5dad30d --- /dev/null +++ b/docs/en/gun/1.0/manual/gun.request/index.html @@ -0,0 +1,282 @@ +<!DOCTYPE html> +<html lang="en"> + +<head> + <meta charset="utf-8"> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + <meta name="description" content=""> + <meta name="author" content="Loïc Hoguin based on a design from (Soft10) Pol Cámara"> + + <title>Nine Nines: gun:request(3)</title> + + <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic' rel='stylesheet' type='text/css'> + <link href="/css/99s.css?r=1" rel="stylesheet"> + + <link rel="shortcut icon" href="/img/ico/favicon.ico"> + <link rel="apple-touch-icon-precomposed" sizes="114x114" href="/img/ico/apple-touch-icon-114.png"> + <link rel="apple-touch-icon-precomposed" sizes="72x72" href="/img/ico/apple-touch-icon-72.png"> + <link rel="apple-touch-icon-precomposed" href="/img/ico/apple-touch-icon-57.png"> + + +</head> + + +<body class=""> + <header id="page-head"> + <div id="topbar" class="container"> + <div class="row"> + <div class="span2"> + <h1 id="logo"><a href="/" title="99s">99s</a></h1> + </div> + <div class="span10"> + + <div id="side-header"> + <nav> + <ul> + <li><a title="Hear my thoughts" href="/articles">Articles</a></li> + <li><a title="Watch my talks" href="/talks">Talks</a></li> + <li class="active"><a title="Read the docs" href="/docs">Documentation</a></li> + <li><a title="Request my services" href="/services">Consulting & Training</a></li> + </ul> + </nav> + <ul id="social"> + <li> + <a href="https://github.com/ninenines" title="Check my Github repositories"><img src="/img/ico_github.png" data-hover="/img/ico_github_alt.png" alt="Github"></a> + </li> + <li> + <a title="Contact me" href="mailto:[email protected]"><img src="/img/ico_mail.png" data-hover="/img/ico_mail_alt.png"></a> + </li> + </ul> + </div> + </div> + </div> + </div> + + +</header> + +<div id="contents" class="two_col"> +<div class="container"> +<div class="row"> +<div id="docs" class="span9 maincol"> + +<h1 class="lined-header"><span>gun:request(3)</span></h1> + +<div class="sect1"> +<h2 id="_name">Name</h2> +<div class="sectionbody"> +<div class="paragraph"><p>gun:request - Perform the given request</p></div> +</div> +</div> +<div class="sect1"> +<h2 id="_description">Description</h2> +<div class="sectionbody"> +<div class="listingblock"> +<div class="content"><!-- Generator: GNU source-highlight +by Lorenzo Bettini +http://www.lorenzobettini.it +http://www.gnu.org/software/src-highlite --> +<pre><tt><span style="font-weight: bold"><span style="color: #000000">request</span></span>(<span style="color: #009900">ConnPid</span>, <span style="color: #009900">Method</span>, <span style="color: #009900">Path</span>, <span style="color: #009900">Headers</span>) + <span style="color: #990000">-></span> <span style="color: #009900">StreamRef</span> + +<span style="font-weight: bold"><span style="color: #000000">request</span></span>(<span style="color: #009900">ConnPid</span>, <span style="color: #009900">Method</span>, <span style="color: #009900">Path</span>, <span style="color: #009900">Headers</span>, <span style="color: #009900">Body</span>) + <span style="color: #990000">-></span> <span style="font-weight: bold"><span style="color: #000000">request</span></span>(<span style="color: #009900">ConnPid</span>, <span style="color: #009900">Method</span>, <span style="color: #009900">Path</span>, <span style="color: #009900">Headers</span>, <span style="color: #009900">Body</span>, #{}) + +<span style="font-weight: bold"><span style="color: #000000">request</span></span>(<span style="color: #009900">ConnPid</span>, <span style="color: #009900">Method</span>, <span style="color: #009900">Path</span>, <span style="color: #009900">Headers</span>, <span style="color: #009900">Body</span>, <span style="color: #009900">ReqOpts</span>) + <span style="color: #990000">-></span> <span style="color: #009900">StreamRef</span> + +<span style="color: #009900">ConnPid</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">pid</span></span>() +<span style="color: #009900">Method</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">binary</span></span>() +<span style="color: #009900">Path</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">iodata</span></span>() +<span style="color: #009900">Headers</span> <span style="color: #990000">::</span> [{<span style="font-weight: bold"><span style="color: #000080">binary</span></span>(), <span style="font-weight: bold"><span style="color: #000000">iodata</span></span>()}] +<span style="color: #009900">Body</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">iodata</span></span>() +<span style="color: #009900">ReqOpts</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">gun:req_opts</span></span>() +<span style="color: #009900">StreamRef</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">reference</span></span>()</tt></pre></div></div> +<div class="paragraph"><p>Perform the given request.</p></div> +<div class="paragraph"><p>This is a general purpose function that should only be +used when other method-specific functions do not apply.</p></div> +<div class="paragraph"><p>The behavior of this function varies depending on whether +a body is provided.</p></div> +<div class="paragraph"><p>The function <code>request/4</code> expects either a content-length +or content-type header to indicate that a body will be +sent afterwards. Gun will assume the request has no body +otherwise. The body can then be sent using +<a href="../gun.data">gun:data(3)</a>.</p></div> +<div class="paragraph"><p>The function <code>request/5,6</code> sends the entire request, including +the request body, immediately. It is therefore not possible +to use <a href="../gun.data">gun:data(3)</a> after that. You +should provide a content-type header. Gun will set the +content-length header automatically.</p></div> +</div> +</div> +<div class="sect1"> +<h2 id="_arguments">Arguments</h2> +<div class="sectionbody"> +<div class="dlist"><dl> +<dt class="hdlist1"> +ConnPid +</dt> +<dd> +<p> +The pid of the Gun connection process. +</p> +</dd> +<dt class="hdlist1"> +Method +</dt> +<dd> +<p> +Method to be used for the request. +</p> +</dd> +<dt class="hdlist1"> +Path +</dt> +<dd> +<p> +Path to the resource. +</p> +</dd> +<dt class="hdlist1"> +Headers +</dt> +<dd> +<p> +Additional request headers. +</p> +</dd> +<dt class="hdlist1"> +Body +</dt> +<dd> +<p> +Request body. +</p> +</dd> +<dt class="hdlist1"> +ReqOpts +</dt> +<dd> +<p> +Request options. +</p> +</dd> +</dl></div> +</div> +</div> +<div class="sect1"> +<h2 id="_return_value">Return value</h2> +<div class="sectionbody"> +<div class="paragraph"><p>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.</p></div> +</div> +</div> +<div class="sect1"> +<h2 id="_changelog">Changelog</h2> +<div class="sectionbody"> +<div class="ulist"><ul> +<li> +<p> +<strong>1.0</strong>: Function introduced. +</p> +</li> +</ul></div> +</div> +</div> +<div class="sect1"> +<h2 id="_examples">Examples</h2> +<div class="sectionbody"> +<div class="listingblock"> +<div class="title">Perform a request</div> +<div class="content"><!-- Generator: GNU source-highlight +by Lorenzo Bettini +http://www.lorenzobettini.it +http://www.gnu.org/software/src-highlite --> +<pre><tt><span style="color: #009900">StreamRef</span> <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">gun:request</span></span>(<span style="color: #009900">ConnPid</span>, <span style="color: #990000"><<</span><span style="color: #FF0000">"PUT"</span><span style="color: #990000">>></span>, + <span style="color: #FF0000">"/lang/fr_FR/hello"</span>, + [{<span style="color: #990000"><<</span><span style="color: #FF0000">"content-type"</span><span style="color: #990000">>></span>, <span style="color: #990000"><<</span><span style="color: #FF0000">"text/plain"</span><span style="color: #990000">>></span>}], + <span style="color: #990000"><<</span><span style="color: #FF0000">"Bonjour !"</span><span style="color: #990000">>></span>)<span style="color: #990000">.</span></tt></pre></div></div> +</div> +</div> +<div class="sect1"> +<h2 id="_see_also">See also</h2> +<div class="sectionbody"> +<div class="paragraph"><p><a href="../gun">gun(3)</a>, +<a href="../gun.await">gun:await(3)</a>, +<a href="../gun.await_body">gun:await_body(3)</a>, +<a href="../gun_push">gun_push(3)</a>, +<a href="../gun_inform">gun_inform(3)</a>, +<a href="../gun_response">gun_response(3)</a>, +<a href="../gun_data">gun_data(3)</a></p></div> +</div> +</div> + + + + + +</div> + +<div class="span3 sidecol"> + + +<h3> + Gun + 1.0 + Function Reference + +</h3> + +<ul> + + <li><a href="/docs/en/gun/1.0/guide">User Guide</a></li> + + + <li><a href="/docs/en/gun/1.0/manual">Function Reference</a></li> + + +</ul> + +<h4 id="docs-nav">Navigation</h4> + +<h4>Version select</h4> +<ul> + + + + <li><a href="/docs/en/gun/1.0/manual">1.0</a></li> + +</ul> + +</div> +</div> +</div> +</div> + + <footer> + <div class="container"> + <div class="row"> + <div class="span6"> + <p id="scroll-top"><a href="#">↑ Scroll to top</a></p> + <nav> + <ul> + <li><a href="mailto:[email protected]" title="Contact us">Contact us</a></li><li><a href="https://github.com/ninenines/ninenines.github.io" title="Github repository">Contribute to this site</a></li> + </ul> + </nav> + </div> + <div class="span6 credits"> + <p><img src="/img/footer_logo.png"></p> + <p>Copyright © Loïc Hoguin 2012-2018</p> + </div> + </div> + </div> + </footer> + + + <script src="/js/custom.js"></script> + </body> +</html> + + diff --git a/docs/en/gun/1.0/manual/gun.ws_send/index.html b/docs/en/gun/1.0/manual/gun.ws_send/index.html new file mode 100644 index 00000000..8892da18 --- /dev/null +++ b/docs/en/gun/1.0/manual/gun.ws_send/index.html @@ -0,0 +1,220 @@ +<!DOCTYPE html> +<html lang="en"> + +<head> + <meta charset="utf-8"> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + <meta name="description" content=""> + <meta name="author" content="Loïc Hoguin based on a design from (Soft10) Pol Cámara"> + + <title>Nine Nines: gun:ws_send(3)</title> + + <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic' rel='stylesheet' type='text/css'> + <link href="/css/99s.css?r=1" rel="stylesheet"> + + <link rel="shortcut icon" href="/img/ico/favicon.ico"> + <link rel="apple-touch-icon-precomposed" sizes="114x114" href="/img/ico/apple-touch-icon-114.png"> + <link rel="apple-touch-icon-precomposed" sizes="72x72" href="/img/ico/apple-touch-icon-72.png"> + <link rel="apple-touch-icon-precomposed" href="/img/ico/apple-touch-icon-57.png"> + + +</head> + + +<body class=""> + <header id="page-head"> + <div id="topbar" class="container"> + <div class="row"> + <div class="span2"> + <h1 id="logo"><a href="/" title="99s">99s</a></h1> + </div> + <div class="span10"> + + <div id="side-header"> + <nav> + <ul> + <li><a title="Hear my thoughts" href="/articles">Articles</a></li> + <li><a title="Watch my talks" href="/talks">Talks</a></li> + <li class="active"><a title="Read the docs" href="/docs">Documentation</a></li> + <li><a title="Request my services" href="/services">Consulting & Training</a></li> + </ul> + </nav> + <ul id="social"> + <li> + <a href="https://github.com/ninenines" title="Check my Github repositories"><img src="/img/ico_github.png" data-hover="/img/ico_github_alt.png" alt="Github"></a> + </li> + <li> + <a title="Contact me" href="mailto:[email protected]"><img src="/img/ico_mail.png" data-hover="/img/ico_mail_alt.png"></a> + </li> + </ul> + </div> + </div> + </div> + </div> + + +</header> + +<div id="contents" class="two_col"> +<div class="container"> +<div class="row"> +<div id="docs" class="span9 maincol"> + +<h1 class="lined-header"><span>gun:ws_send(3)</span></h1> + +<div class="sect1"> +<h2 id="_name">Name</h2> +<div class="sectionbody"> +<div class="paragraph"><p>gun:ws_send - Send Websocket frames</p></div> +</div> +</div> +<div class="sect1"> +<h2 id="_description">Description</h2> +<div class="sectionbody"> +<div class="listingblock"> +<div class="content"><!-- Generator: GNU source-highlight +by Lorenzo Bettini +http://www.lorenzobettini.it +http://www.gnu.org/software/src-highlite --> +<pre><tt><span style="font-weight: bold"><span style="color: #000000">ws_send</span></span>(<span style="color: #009900">ConnPid</span>, <span style="color: #009900">Frames</span>) <span style="color: #990000">-></span> <span style="color: #FF6600">ok</span> + +<span style="color: #009900">ConnPid</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">pid</span></span>() +<span style="color: #009900">Frames</span> <span style="color: #990000">::</span> <span style="color: #009900">Frame</span> | [<span style="color: #009900">Frame</span>] +<span style="color: #009900">Frame</span> <span style="color: #990000">::</span> <span style="color: #FF6600">close</span> | <span style="color: #FF6600">ping</span> | <span style="color: #FF6600">pong</span> + | {<span style="color: #FF6600">text</span> | <span style="font-weight: bold"><span style="color: #000080">binary</span></span> | <span style="color: #FF6600">close</span> | <span style="color: #FF6600">ping</span> | <span style="color: #FF6600">pong</span>, <span style="font-weight: bold"><span style="color: #000000">iodata</span></span>()} + | {<span style="color: #FF6600">close</span>, <span style="font-weight: bold"><span style="color: #000000">non_neg_integer</span></span>(), <span style="font-weight: bold"><span style="color: #000000">iodata</span></span>()}</tt></pre></div></div> +<div class="paragraph"><p>Send Websocket frames.</p></div> +<div class="paragraph"><p>The connection must first be upgraded to Websocket using +the function <a href="../gun.ws_upgrade">gun:ws_upgrade(3)</a>.</p></div> +</div> +</div> +<div class="sect1"> +<h2 id="_arguments">Arguments</h2> +<div class="sectionbody"> +<div class="dlist"><dl> +<dt class="hdlist1"> +ConnPid +</dt> +<dd> +<p> +The pid of the Gun connection process. +</p> +</dd> +<dt class="hdlist1"> +Frames +</dt> +<dd> +<p> +A Websocket frame. +</p> +</dd> +</dl></div> +</div> +</div> +<div class="sect1"> +<h2 id="_return_value">Return value</h2> +<div class="sectionbody"> +<div class="paragraph"><p>The atom <code>ok</code> is returned.</p></div> +</div> +</div> +<div class="sect1"> +<h2 id="_changelog">Changelog</h2> +<div class="sectionbody"> +<div class="ulist"><ul> +<li> +<p> +<strong>1.0</strong>: Function introduced. +</p> +</li> +</ul></div> +</div> +</div> +<div class="sect1"> +<h2 id="_examples">Examples</h2> +<div class="sectionbody"> +<div class="listingblock"> +<div class="title">Send a single frame</div> +<div class="content"><!-- Generator: GNU source-highlight +by Lorenzo Bettini +http://www.lorenzobettini.it +http://www.gnu.org/software/src-highlite --> +<pre><tt><span style="font-weight: bold"><span style="color: #000000">gun:ws_send</span></span>(<span style="color: #009900">ConnPid</span>, {<span style="color: #FF6600">text</span>, <span style="color: #990000"><<</span><span style="color: #FF0000">"Hello world!"</span><span style="color: #990000">>></span>})<span style="color: #990000">.</span></tt></pre></div></div> +</div> +</div> +<div class="sect1"> +<h2 id="_see_also">See also</h2> +<div class="sectionbody"> +<div class="paragraph"><p><a href="../gun">gun(3)</a>, +<a href="../gun.ws_upgrade">gun:ws_upgrade(3)</a>, +<a href="../gun_upgrade">gun_upgrade(3)</a>, +<a href="../gun_ws">gun_ws(3)</a></p></div> +</div> +</div> + + + + + +</div> + +<div class="span3 sidecol"> + + +<h3> + Gun + 1.0 + Function Reference + +</h3> + +<ul> + + <li><a href="/docs/en/gun/1.0/guide">User Guide</a></li> + + + <li><a href="/docs/en/gun/1.0/manual">Function Reference</a></li> + + +</ul> + +<h4 id="docs-nav">Navigation</h4> + +<h4>Version select</h4> +<ul> + + + + <li><a href="/docs/en/gun/1.0/manual">1.0</a></li> + +</ul> + +</div> +</div> +</div> +</div> + + <footer> + <div class="container"> + <div class="row"> + <div class="span6"> + <p id="scroll-top"><a href="#">↑ Scroll to top</a></p> + <nav> + <ul> + <li><a href="mailto:[email protected]" title="Contact us">Contact us</a></li><li><a href="https://github.com/ninenines/ninenines.github.io" title="Github repository">Contribute to this site</a></li> + </ul> + </nav> + </div> + <div class="span6 credits"> + <p><img src="/img/footer_logo.png"></p> + <p>Copyright © Loïc Hoguin 2012-2018</p> + </div> + </div> + </div> + </footer> + + + <script src="/js/custom.js"></script> + </body> +</html> + + diff --git a/docs/en/gun/1.0/manual/gun.ws_upgrade/index.html b/docs/en/gun/1.0/manual/gun.ws_upgrade/index.html new file mode 100644 index 00000000..d74702db --- /dev/null +++ b/docs/en/gun/1.0/manual/gun.ws_upgrade/index.html @@ -0,0 +1,270 @@ +<!DOCTYPE html> +<html lang="en"> + +<head> + <meta charset="utf-8"> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + <meta name="description" content=""> + <meta name="author" content="Loïc Hoguin based on a design from (Soft10) Pol Cámara"> + + <title>Nine Nines: gun:ws_upgrade(3)</title> + + <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic' rel='stylesheet' type='text/css'> + <link href="/css/99s.css?r=1" rel="stylesheet"> + + <link rel="shortcut icon" href="/img/ico/favicon.ico"> + <link rel="apple-touch-icon-precomposed" sizes="114x114" href="/img/ico/apple-touch-icon-114.png"> + <link rel="apple-touch-icon-precomposed" sizes="72x72" href="/img/ico/apple-touch-icon-72.png"> + <link rel="apple-touch-icon-precomposed" href="/img/ico/apple-touch-icon-57.png"> + + +</head> + + +<body class=""> + <header id="page-head"> + <div id="topbar" class="container"> + <div class="row"> + <div class="span2"> + <h1 id="logo"><a href="/" title="99s">99s</a></h1> + </div> + <div class="span10"> + + <div id="side-header"> + <nav> + <ul> + <li><a title="Hear my thoughts" href="/articles">Articles</a></li> + <li><a title="Watch my talks" href="/talks">Talks</a></li> + <li class="active"><a title="Read the docs" href="/docs">Documentation</a></li> + <li><a title="Request my services" href="/services">Consulting & Training</a></li> + </ul> + </nav> + <ul id="social"> + <li> + <a href="https://github.com/ninenines" title="Check my Github repositories"><img src="/img/ico_github.png" data-hover="/img/ico_github_alt.png" alt="Github"></a> + </li> + <li> + <a title="Contact me" href="mailto:[email protected]"><img src="/img/ico_mail.png" data-hover="/img/ico_mail_alt.png"></a> + </li> + </ul> + </div> + </div> + </div> + </div> + + +</header> + +<div id="contents" class="two_col"> +<div class="container"> +<div class="row"> +<div id="docs" class="span9 maincol"> + +<h1 class="lined-header"><span>gun:ws_upgrade(3)</span></h1> + +<div class="sect1"> +<h2 id="_name">Name</h2> +<div class="sectionbody"> +<div class="paragraph"><p>gun:ws_upgrade - Upgrade to Websocket</p></div> +</div> +</div> +<div class="sect1"> +<h2 id="_description">Description</h2> +<div class="sectionbody"> +<div class="listingblock"> +<div class="content"><!-- Generator: GNU source-highlight +by Lorenzo Bettini +http://www.lorenzobettini.it +http://www.gnu.org/software/src-highlite --> +<pre><tt><span style="font-weight: bold"><span style="color: #000000">ws_upgrade</span></span>(<span style="color: #009900">ConnPid</span>, <span style="color: #009900">Path</span>) + <span style="color: #990000">-></span> <span style="font-weight: bold"><span style="color: #000000">ws_upgrade</span></span>(<span style="color: #009900">ConnPid</span>, <span style="color: #009900">Path</span>, []) + +<span style="font-weight: bold"><span style="color: #000000">ws_upgrade</span></span>(<span style="color: #009900">ConnPid</span>, <span style="color: #009900">Path</span>, <span style="color: #009900">Headers</span>) + <span style="color: #990000">-></span> <span style="color: #009900">StreamRef</span> + +<span style="font-weight: bold"><span style="color: #000000">ws_upgrade</span></span>(<span style="color: #009900">ConnPid</span>, <span style="color: #009900">Path</span>, <span style="color: #009900">Headers</span>, <span style="color: #009900">WsOpts</span>) + <span style="color: #990000">-></span> <span style="color: #009900">StreamRef</span> + +<span style="color: #009900">ConnPid</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">pid</span></span>() +<span style="color: #009900">Path</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">iodata</span></span>() +<span style="color: #009900">Headers</span> <span style="color: #990000">::</span> [{<span style="font-weight: bold"><span style="color: #000080">binary</span></span>(), <span style="font-weight: bold"><span style="color: #000000">iodata</span></span>()}] +<span style="color: #009900">WsOpts</span> <span style="color: #990000">::</span> <span style="color: #FF6600">gun</span><span style="color: #990000">:</span><span style="color: #FF6600">ws_opts</span> +<span style="color: #009900">StreamRef</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">reference</span></span>()</tt></pre></div></div> +<div class="paragraph"><p>Upgrade to Websocket.</p></div> +<div class="paragraph"><p>The behavior of this function depends on the protocol +selected.</p></div> +<div class="paragraph"><p>HTTP/1.1 cannot handle Websocket and HTTP requests +concurrently. The upgrade, if successful, will result +in the complete takeover of the connection. Any +subsequent HTTP requests will be rejected.</p></div> +<div class="paragraph"><p>Gun does not currently support Websocket over HTTP/2.</p></div> +<div class="paragraph"><p>By default Gun will take the Websocket options from +the connection’s <code>ws_opts</code>.</p></div> +</div> +</div> +<div class="sect1"> +<h2 id="_arguments">Arguments</h2> +<div class="sectionbody"> +<div class="dlist"><dl> +<dt class="hdlist1"> +ConnPid +</dt> +<dd> +<p> +The pid of the Gun connection process. +</p> +</dd> +<dt class="hdlist1"> +Path +</dt> +<dd> +<p> +Path to the resource. +</p> +</dd> +<dt class="hdlist1"> +Headers +</dt> +<dd> +<p> +Additional request headers. +</p> +</dd> +<dt class="hdlist1"> +WsOpts +</dt> +<dd> +<p> +Configuration for the Websocket protocol. +</p> +</dd> +</dl></div> +</div> +</div> +<div class="sect1"> +<h2 id="_return_value">Return value</h2> +<div class="sectionbody"> +<div class="paragraph"><p>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.</p></div> +</div> +</div> +<div class="sect1"> +<h2 id="_changelog">Changelog</h2> +<div class="sectionbody"> +<div class="ulist"><ul> +<li> +<p> +<strong>1.0</strong>: Function introduced. +</p> +</li> +</ul></div> +</div> +</div> +<div class="sect1"> +<h2 id="_examples">Examples</h2> +<div class="sectionbody"> +<div class="listingblock"> +<div class="title">Upgrade to Websocket</div> +<div class="content"><!-- Generator: GNU source-highlight +by Lorenzo Bettini +http://www.lorenzobettini.it +http://www.gnu.org/software/src-highlite --> +<pre><tt><span style="color: #009900">StreamRef</span> <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">gun:ws_upgrade</span></span>(<span style="color: #009900">ConnPid</span>, <span style="color: #FF0000">"/ws"</span>, [ + {<span style="color: #990000"><<</span><span style="color: #FF0000">"sec-websocket-protocol"</span><span style="color: #990000">>></span>, <span style="color: #990000"><<</span><span style="color: #FF0000">"chat"</span><span style="color: #990000">>></span>} +])<span style="color: #990000">.</span> +<span style="font-weight: bold"><span style="color: #0000FF">receive</span></span> + {<span style="color: #FF6600">gun_upgrade</span>, <span style="color: #009900">ConnPid</span>, <span style="color: #009900">StreamRef</span>, [<span style="color: #990000"><<</span><span style="color: #FF0000">"websocket"</span><span style="color: #990000">>></span>], <span style="color: #990000">_</span>} <span style="color: #990000">-></span> + <span style="color: #FF6600">ok</span> +<span style="font-weight: bold"><span style="color: #0000FF">after</span></span> <span style="color: #993399">5000</span> <span style="color: #990000">-></span> + <span style="font-weight: bold"><span style="color: #000000">error</span></span>(<span style="color: #FF6600">timeout</span>) +<span style="font-weight: bold"><span style="color: #0000FF">end</span></span><span style="color: #990000">.</span></tt></pre></div></div> +<div class="listingblock"> +<div class="title">Upgrade to Websocket with different options</div> +<div class="content"><!-- Generator: GNU source-highlight +by Lorenzo Bettini +http://www.lorenzobettini.it +http://www.gnu.org/software/src-highlite --> +<pre><tt><span style="color: #009900">StreamRef</span> <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">gun:ws_upgrade</span></span>(<span style="color: #009900">ConnPid</span>, <span style="color: #FF0000">"/ws"</span>, [], #{ + <span style="color: #0000FF">compress</span> <span style="color: #990000">=></span> <span style="color: #000080">false</span> +})<span style="color: #990000">.</span></tt></pre></div></div> +</div> +</div> +<div class="sect1"> +<h2 id="_see_also">See also</h2> +<div class="sectionbody"> +<div class="paragraph"><p><a href="../gun">gun(3)</a>, +<a href="../gun.ws_send">gun:ws_send(3)</a>, +<a href="../gun_upgrade">gun_upgrade(3)</a>, +<a href="../gun_ws">gun_ws(3)</a></p></div> +</div> +</div> + + + + + +</div> + +<div class="span3 sidecol"> + + +<h3> + Gun + 1.0 + Function Reference + +</h3> + +<ul> + + <li><a href="/docs/en/gun/1.0/guide">User Guide</a></li> + + + <li><a href="/docs/en/gun/1.0/manual">Function Reference</a></li> + + +</ul> + +<h4 id="docs-nav">Navigation</h4> + +<h4>Version select</h4> +<ul> + + + + <li><a href="/docs/en/gun/1.0/manual">1.0</a></li> + +</ul> + +</div> +</div> +</div> +</div> + + <footer> + <div class="container"> + <div class="row"> + <div class="span6"> + <p id="scroll-top"><a href="#">↑ Scroll to top</a></p> + <nav> + <ul> + <li><a href="mailto:[email protected]" title="Contact us">Contact us</a></li><li><a href="https://github.com/ninenines/ninenines.github.io" title="Github repository">Contribute to this site</a></li> + </ul> + </nav> + </div> + <div class="span6 credits"> + <p><img src="/img/footer_logo.png"></p> + <p>Copyright © Loïc Hoguin 2012-2018</p> + </div> + </div> + </div> + </footer> + + + <script src="/js/custom.js"></script> + </body> +</html> + + diff --git a/docs/en/gun/1.0/manual/gun/index.html b/docs/en/gun/1.0/manual/gun/index.html index 3ba36987..83aa2a1c 100644 --- a/docs/en/gun/1.0/manual/gun/index.html +++ b/docs/en/gun/1.0/manual/gun/index.html @@ -7,8 +7,6 @@ <meta name="description" content=""> <meta name="author" content="Loïc Hoguin based on a design from (Soft10) Pol Cámara"> - <meta name="generator" content="Hugo 0.37.1" /> - <title>Nine Nines: gun(3)</title> <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic' rel='stylesheet' type='text/css'> @@ -67,7 +65,7 @@ <div class="sect1"> <h2 id="_name">Name</h2> <div class="sectionbody"> -<div class="paragraph"><p>gun - asynchronous HTTP client</p></div> +<div class="paragraph"><p>gun - Asynchronous HTTP client</p></div> </div> </div> <div class="sect1"> @@ -79,1714 +77,437 @@ HTTP/2 or Websocket.</p></div> </div> </div> <div class="sect1"> -<h2 id="_types">Types</h2> +<h2 id="_exports">Exports</h2> <div class="sectionbody"> -<div class="sect2"> -<h3 id="_opts_map">opts() = map()</h3> -<div class="paragraph"><p>Configuration for the connection.</p></div> -<div class="paragraph"><p>The following keys are defined:</p></div> -<div class="dlist"><dl> -<dt class="hdlist1"> -connect_timeout ⇒ timeout() -</dt> -<dd> +<div class="paragraph"><p>Connection:</p></div> +<div class="ulist"><ul> +<li> <p> - Connection timeout. Defaults to <code>infinity</code>. +<a href="../gun.open">gun:open(3)</a> - Open a connection to the given host and port </p> -</dd> -<dt class="hdlist1"> -http_opts ⇒ http_opts() -</dt> -<dd> +</li> +<li> <p> - Options specific to the HTTP protocol. See below. +<a href="../gun.open_unix">gun:open_unix(3)</a> - Open a connection to the given Unix domain socket </p> -</dd> -<dt class="hdlist1"> -http2_opts ⇒ http2_opts() -</dt> -<dd> +</li> +<li> <p> - Options specific to the HTTP/2 protocol. See below. +<a href="../gun.close">gun:close(3)</a> - Brutally close the connection </p> -</dd> -<dt class="hdlist1"> -protocols ⇒ [http | http2] -</dt> -<dd> +</li> +<li> <p> - Ordered list of preferred protocols. When the transport is tcp, - this list must contain exactly one protocol. When the transport - is ssl, this list must contain at least one protocol and will be - used using the ALPN protocol negotiation method. When the server - does not support ALPN then http will always be used. Defaults to - [http] when the transport is tcp, and [http2, http] when the - transport is ssl. +<a href="../gun.info">gun:info(3)</a> - Obtain information about the connection </p> -</dd> -<dt class="hdlist1"> -retry ⇒ non_neg_integer() -</dt> -<dd> +</li> +</ul></div> +<div class="paragraph"><p>Requests:</p></div> +<div class="ulist"><ul> +<li> <p> - Number of times Gun will try to reconnect on failure before giving up. - Defaults to 5. +<a href="../gun.get">gun:get(3)</a> - Get a resource representation </p> -</dd> -<dt class="hdlist1"> -retry_timeout ⇒ pos_integer() -</dt> -<dd> +</li> +<li> <p> - Time between retries in milliseconds. Defaults to 5000. +<a href="../gun.head">gun:head(3)</a> - Get headers of a resource representation </p> -</dd> -<dt class="hdlist1"> -trace ⇒ boolean() -</dt> -<dd> +</li> +<li> <p> - Whether to enable <code>dbg</code> tracing of the connection process. Should - only be used during debugging. Defaults to false. +<a href="../gun.options">gun:options(3)</a> - Query the capabilities of the server or a resource </p> -</dd> -<dt class="hdlist1"> -transport ⇒ tcp | ssl -</dt> -<dd> +</li> +<li> <p> - Whether to use SSL or plain TCP. The default varies depending on the - port used. Port 443 defaults to ssl. All other ports default to tcp. +<a href="../gun.patch">gun:patch(3)</a> - Apply a set of changes to a resource </p> -</dd> -<dt class="hdlist1"> -transport_opts ⇒ proplists:proplist() -</dt> -<dd> +</li> +<li> <p> - Transport options. They are TCP options or SSL options depending on - the selected transport. +<a href="../gun.post">gun:post(3)</a> - Process the enclosed representation according to a resource’s own semantics </p> -</dd> -<dt class="hdlist1"> -ws_opts ⇒ ws_opts() -</dt> -<dd> +</li> +<li> <p> - Options specific to the Websocket protocol. See below. +<a href="../gun.put">gun:put(3)</a> - Create or replace a resource </p> -</dd> -</dl></div> -</div> -<div class="sect2"> -<h3 id="_http_opts_map">http_opts() = map()</h3> -<div class="paragraph"><p>Configuration for the HTTP protocol.</p></div> -<div class="paragraph"><p>The following keys are defined:</p></div> -<div class="dlist"><dl> -<dt class="hdlist1"> -keepalive ⇒ timeout() -</dt> -<dd> +</li> +<li> <p> - Time between pings in milliseconds. Since the HTTP protocol has - no standardized way to ping the server, Gun will simply send an - empty line when the connection is idle. Gun only makes a best - effort here as servers usually have configurable limits to drop - idle connections. Use <code>infinity</code> to disable. Defaults to 5000. +<a href="../gun.delete">gun:delete(3)</a> - Delete a resource </p> -</dd> -<dt class="hdlist1"> -transform_header_name ⇒ funLowercaseName :: binary( → TransformedName :: binary()) | undefined -</dt> -<dd> +</li> +<li> <p> - A function that will be applied to all header names before they - are sent to the server. Gun assumes that all header names are in - lower case. This function is useful if you, for example, need to - re-case header names in the event that the server incorrectly - considers header name case to be significant. +<a href="../gun.request">gun:request(3)</a> - Perform the given request </p> -</dd> -<dt class="hdlist1"> -version ⇒ <em>HTTP/1.1</em> | <em>HTTP/1.0</em> -</dt> -<dd> +</li> +<li> <p> - HTTP version to use. Defaults to <em>HTTP/1.1</em>. +<a href="../gun.data">gun:data(3)</a> - Stream the body of a request </p> -</dd> -</dl></div> -</div> -<div class="sect2"> -<h3 id="_http2_opts_map">http2_opts() = map()</h3> -<div class="paragraph"><p>Configuration for the HTTP/2 protocol.</p></div> -<div class="paragraph"><p>The following keys are defined:</p></div> -<div class="dlist"><dl> -<dt class="hdlist1"> -keepalive ⇒ pos_integer() -</dt> -<dd> +</li> +</ul></div> +<div class="paragraph"><p>Messages:</p></div> +<div class="ulist"><ul> +<li> <p> - Time between pings in milliseconds. Defaults to 5000. +<a href="../gun.await">gun:await(3)</a> - Wait for a response </p> -</dd> -</dl></div> -</div> -<div class="sect2"> -<h3 id="_req_opts_map">req_opts() = map()</h3> -<div class="paragraph"><p>Configuration for a particular request.</p></div> -<div class="paragraph"><p>The following keys are defined:</p></div> -<div class="dlist"><dl> -<dt class="hdlist1"> -reply_to ⇒ pid() -</dt> -<dd> +</li> +<li> <p> - The pid of a process that is responsible for the response handling. +<a href="../gun.await_body">gun:await_body(3)</a> - Wait for the complete response body </p> -</dd> -</dl></div> -</div> -<div class="sect2"> -<h3 id="_ws_opts_map">ws_opts() = map()</h3> -<div class="paragraph"><p>Configuration for the Websocket protocol.</p></div> -<div class="paragraph"><p>The following keys are defined:</p></div> -<div class="dlist"><dl> -<dt class="hdlist1"> -compress ⇒ boolean() -</dt> -<dd> +</li> +<li> <p> - Whether to enable permessage-deflate compression. This does - not guarantee that compression will be used as it is the - server that ultimately decides. Defaults to false. +<a href="../gun.await_up">gun:await(3)</a> - Wait for the connection to be up </p> -</dd> -</dl></div> -</div> -</div> -</div> -<div class="sect1"> -<h2 id="_messages">Messages</h2> -<div class="sectionbody"> -<div class="paragraph"><p>Calling functions from this module may result in the following -messages being sent.</p></div> -<div class="sect2"> -<h3 id="_gun_up_connpid_protocol">{gun_up, ConnPid, Protocol}</h3> -<div class="dlist"><dl> -<dt class="hdlist1"> -ConnPid = pid() -</dt> -<dd> +</li> +<li> <p> -The pid of the Gun connection process. +<a href="../gun.flush">gun:flush(3)</a> - Flush all messages related to a connection or a stream </p> -</dd> -<dt class="hdlist1"> -Protocol = http | http2 -</dt> -<dd> +</li> +</ul></div> +<div class="paragraph"><p>Streams:</p></div> +<div class="ulist"><ul> +<li> <p> -The protocol selected for this connection. +<a href="../gun.cancel">gun:cancel(3)</a> - Cancel the given stream </p> -</dd> -</dl></div> -<div class="paragraph"><p>The connection is up.</p></div> -<div class="paragraph"><p>This message informs the owner process that the connection or -reconnection completed.</p></div> -<div class="paragraph"><p>The protocol selected during the connection is sent in this -message. It can be used to determine the capabilities of the -server.</p></div> -<div class="paragraph"><p>Gun will now start processing the messages it received while -waiting for the connection to be up. If this is a reconnection, -then this may not be desirable for all requests. Those requests -should be cancelled when the connection goes down, and any -subsequent messages ignored.</p></div> -</div> -<div class="sect2"> -<h3 id="_gun_down_connpid_protocol_reason_killedstreams_unprocessedstreams">{gun_down, ConnPid, Protocol, Reason, KilledStreams, UnprocessedStreams}</h3> -<div class="dlist"><dl> -<dt class="hdlist1"> -ConnPid = pid() -</dt> -<dd> +</li> +</ul></div> +<div class="paragraph"><p>Websocket:</p></div> +<div class="ulist"><ul> +<li> <p> -The pid of the Gun connection process. +<a href="../gun.ws_upgrade">gun:ws_upgrade(3)</a> - Upgrade to Websocket </p> -</dd> -<dt class="hdlist1"> -Protocol = http | http2 | ws -</dt> -<dd> -<p> -The protocol in use when the connection was lost. -</p> -</dd> -<dt class="hdlist1"> -Reason = normal | closed | {error, atom()} -</dt> -<dd> -<p> -The reason for the loss of the connection. -</p> -</dd> -<dt class="hdlist1"> -KilledStreams = [reference()] -</dt> -<dd> -<p> -List of streams that have been brutally terminated. -</p> -</dd> -<dt class="hdlist1"> -UnprocessedStreams = [reference()] -</dt> -<dd> +</li> +<li> <p> -List of streams that have not been processed by the server. +<a href="../gun.ws_send">gun:ws_send(3)</a> - Send Websocket frames </p> -</dd> -</dl></div> -<div class="paragraph"><p>The connection is down.</p></div> -<div class="paragraph"><p>This message informs the owner process that the connection is -currently down. Gun will automatically attempt to reconnect -depending on the <code>retry</code> and <code>retry_timeout</code> options.</p></div> -<div class="paragraph"><p>The reason of the termination is there for debugging purposes -only. You should not rely on this value to know what streams -were processed or completed.</p></div> -<div class="paragraph"><p>The <em>killed streams</em> are the active streams that did not complete -before the closing of the connection. Whether they can be retried -safely depends on the protocol used and the idempotence property -of the requests.</p></div> -<div class="paragraph"><p>The <em>unprocessed streams</em> are streams that the server did not -start processing yet. They may be retried safely depending on -what streams were killed before.</p></div> -<div class="paragraph"><p>When the connection goes back up, Gun will not attempt to retry -requests. It will also not upgrade to Websocket automatically -if that was the protocol in use when the connection was lost.</p></div> -</div> -<div class="sect2"> -<h3 id="_gun_push_connpid_streamref_newstreamref_uri_headers">{gun_push, ConnPid, StreamRef, NewStreamRef, URI, Headers}</h3> -<div class="dlist"><dl> -<dt class="hdlist1"> -ConnPid = pid() -</dt> -<dd> -<p> -The pid of the Gun connection process. -</p> -</dd> -<dt class="hdlist1"> -StreamRef = reference() -</dt> -<dd> -<p> -Identifier of the stream initiated by the owner process. -</p> -</dd> -<dt class="hdlist1"> -NewStreamRef = reference() -</dt> -<dd> -<p> -Identifier of the stream being pushed. -</p> -</dd> -<dt class="hdlist1"> -URI = binary() -</dt> -<dd> -<p> -URI of the resource. -</p> -</dd> -<dt class="hdlist1"> -Headers = [{binary(), binary()}] -</dt> -<dd> -<p> -Headers @todo -</p> -</dd> -</dl></div> -<div class="paragraph"><p>A resource pushed alongside an HTTP response.</p></div> -<div class="paragraph"><p>This message can only be sent when the protocol is HTTP/2.</p></div> -<div class="paragraph"><p>@todo I fear we also need the scheme; resource is identified by URI -@todo Perhaps we really should send the URI entirely, because cache -@todo relies on URI to work and this feature is for caching… -@todo Not sure why Method is there, spec says it is only for GET</p></div> -</div> -<div class="sect2"> -<h3 id="_gun_response_connpid_streamref_isfin_status_headers">{gun_response, ConnPid, StreamRef, IsFin, Status, Headers}</h3> -<div class="dlist"><dl> -<dt class="hdlist1"> -ConnPid = pid() -</dt> -<dd> -<p> -The pid of the Gun connection process. -</p> -</dd> -<dt class="hdlist1"> -StreamRef = reference() -</dt> -<dd> -<p> -Identifier of the stream initiated by the owner process. -</p> -</dd> -<dt class="hdlist1"> -IsFin = fin | nofin -</dt> -<dd> -<p> -Whether this message terminates the response. -</p> -</dd> -<dt class="hdlist1"> -Status = binary() -</dt> -<dd> -<p> -Status line for the response. -</p> -</dd> -<dt class="hdlist1"> -Headers = [{binary(), binary()}] -</dt> -<dd> -<p> -Headers sent with the response. -</p> -</dd> -</dl></div> -<div class="paragraph"><p>A response to an HTTP request.</p></div> -</div> -<div class="sect2"> -<h3 id="_gun_data_connpid_streamref_isfin_data">{gun_data, ConnPid, StreamRef, IsFin, Data}</h3> -<div class="dlist"><dl> -<dt class="hdlist1"> -ConnPid = pid() -</dt> -<dd> -<p> -The pid of the Gun connection process. -</p> -</dd> -<dt class="hdlist1"> -StreamRef = reference() -</dt> -<dd> -<p> -Identifier of the stream this data belongs to. -</p> -</dd> -<dt class="hdlist1"> -IsFin = fin | nofin -</dt> -<dd> -<p> -Whether this message terminates the response. -</p> -</dd> -<dt class="hdlist1"> -Data = binary() -</dt> -<dd> -<p> -Data from the stream. -</p> -</dd> -</dl></div> -<div class="paragraph"><p>Data associated with a stream.</p></div> -<div class="paragraph"><p>The stream in question can be either one initiated by the owner -process or a stream initiated by the server through the push -mechanism. In any case a <code>gun_response</code> or a <code>gun_push</code> message -will be sent before any <code>gun_data</code> message.</p></div> -</div> -<div class="sect2"> -<h3 id="_gun_error_connpid_streamref_reason">{gun_error, ConnPid, StreamRef, Reason}</h3> -<div class="dlist"><dl> -<dt class="hdlist1"> -ConnPid = pid() -</dt> -<dd> -<p> -The pid of the Gun connection process. -</p> -</dd> -<dt class="hdlist1"> -StreamRef = reference() -</dt> -<dd> -<p> -Identifier of the stream this error relates to. -</p> -</dd> -<dt class="hdlist1"> -Reason = any() -</dt> -<dd> -<p> -Error reason. -</p> -</dd> -</dl></div> -<div class="paragraph"><p>Stream-specific error.</p></div> -</div> -<div class="sect2"> -<h3 id="_gun_error_connpid_reason">{gun_error, ConnPid, Reason}</h3> -<div class="dlist"><dl> -<dt class="hdlist1"> -ConnPid = pid() -</dt> -<dd> -<p> -The pid of the Gun connection process. -</p> -</dd> -<dt class="hdlist1"> -Reason = any() -</dt> -<dd> -<p> -Error reason. -</p> -</dd> -</dl></div> -<div class="paragraph"><p>General error.</p></div> -</div> -<div class="sect2"> -<h3 id="_gun_ws_upgrade_connpid_ok_headers">{gun_ws_upgrade, ConnPid, ok, Headers}</h3> -<div class="dlist"><dl> -<dt class="hdlist1"> -ConnPid = pid() -</dt> -<dd> -<p> -The pid of the Gun connection process. -</p> -</dd> -<dt class="hdlist1"> -Headers = [{binary(), binary()}] -</dt> -<dd> -<p> -Headers sent with the response. -</p> -</dd> -</dl></div> -<div class="paragraph"><p>Successful upgrade to the Websocket protocol.</p></div> -</div> -<div class="sect2"> -<h3 id="_gun_ws_connpid_frame">{gun_ws, ConnPid, Frame}</h3> -<div class="dlist"><dl> -<dt class="hdlist1"> -ConnPid = pid() -</dt> -<dd> -<p> -The pid of the Gun connection process. -</p> -</dd> -<dt class="hdlist1"> -Frame = @todo -</dt> -<dd> -<p> -Frame. -</p> -</dd> -</dl></div> -<div class="paragraph"><p>Websocket frame.</p></div> -</div> +</li> +</ul></div> </div> </div> <div class="sect1"> -<h2 id="_exports">Exports</h2> +<h2 id="_messages">Messages</h2> <div class="sectionbody"> -<div class="sect2"> -<h3 id="_open_host_port_8594_open_host_port">open(Host, Port) → open(Host, Port, [])</h3> -<div class="paragraph"><p>Alias of <code>gun:open/3</code>.</p></div> -</div> -<div class="sect2"> -<h3 id="_open_host_port_opts_8594_ok_connpid_error_reason">open(Host, Port, Opts) → {ok, ConnPid} | {error, Reason}</h3> -<div class="dlist"><dl> -<dt class="hdlist1"> -Host = inet:hostname() -</dt> -<dd> -<p> -Host to connect to. -</p> -</dd> -<dt class="hdlist1"> -Port = inet:port_number() -</dt> -<dd> -<p> -Port to connect to. -</p> -</dd> -<dt class="hdlist1"> -Opts = opts() -</dt> -<dd> -<p> -Options for this connection. -</p> -</dd> -<dt class="hdlist1"> -ConnPid = pid() -</dt> -<dd> -<p> -The pid of the Gun connection process. -</p> -</dd> -<dt class="hdlist1"> -Reason = any() -</dt> -<dd> -<p> -Error reason. @todo really any? -</p> -</dd> -</dl></div> -<div class="paragraph"><p>Open a connection to the given host and port.</p></div> -</div> -<div class="sect2"> -<h3 id="_close_connpid_8594_ok">close(ConnPid) → ok</h3> -<div class="dlist"><dl> -<dt class="hdlist1"> -ConnPid = pid() -</dt> -<dd> -<p> -The pid of the Gun connection process. -</p> -</dd> -</dl></div> -<div class="paragraph"><p>Brutally close the connection.</p></div> -</div> -<div class="sect2"> -<h3 id="_shutdown_connpid_8594_ok">shutdown(ConnPid) → ok</h3> -<div class="dlist"><dl> -<dt class="hdlist1"> -ConnPid = pid() -</dt> -<dd> +<div class="paragraph"><p>Gun will inform the calling process of events asynchronously +by sending any of the following messages:</p></div> +<div class="paragraph"><p>Connection:</p></div> +<div class="ulist"><ul> +<li> <p> -The pid of the Gun connection process. +<a href="../gun_up">gun_up(3)</a> - The connection is up </p> -</dd> -</dl></div> -<div class="paragraph"><p>Gracefully close the connection.</p></div> -<div class="paragraph"><p>A monitor can be used to be notified when the connection is -effectively closed.</p></div> -</div> -<div class="sect2"> -<h3 id="_delete_connpid_path_8594_delete_connpid_path">delete(ConnPid, Path) → delete(ConnPid, Path, [], #{})</h3> -<div class="paragraph"><p>Alias of <code>gun:delete/4</code>.</p></div> -</div> -<div class="sect2"> -<h3 id="_delete_connpid_path_headers_8594_delete_connpid_path_headers">delete(ConnPid, Path, Headers) → delete(ConnPid, Path, Headers, #{})</h3> -<div class="paragraph"><p>Alias of <code>gun:delete/4</code>.</p></div> -</div> -<div class="sect2"> -<h3 id="_delete_connpid_path_headers_reqopts_8594_streamref">delete(ConnPid, Path, Headers, ReqOpts) → StreamRef</h3> -<div class="dlist"><dl> -<dt class="hdlist1"> -ConnPid = pid() -</dt> -<dd> +</li> +<li> <p> -The pid of the Gun connection process. +<a href="../gun_down">gun_down(3)</a> - The connection is down </p> -</dd> -<dt class="hdlist1"> -Path = iodata() -</dt> -<dd> +</li> +<li> <p> -Path to the resource. +<a href="../gun_upgrade">gun_upgrade(3)</a> - Successful protocol upgrade </p> -</dd> -<dt class="hdlist1"> -Headers = [{binary(), iodata()}] -</dt> -<dd> +</li> +<li> <p> -Additional request headers. +<a href="../gun_error">gun_error(3)</a> - Stream or connection-wide error </p> -</dd> -<dt class="hdlist1"> -ReqOpts = req_opts() -</dt> -<dd> +</li> +</ul></div> +<div class="paragraph"><p>Responses:</p></div> +<div class="ulist"><ul> +<li> <p> -Request options. +<a href="../gun_push">gun_push(3)</a> - Server-initiated push </p> -</dd> -<dt class="hdlist1"> -StreamRef = reference() -</dt> -<dd> +</li> +<li> <p> -Identifier of the stream for this request. +<a href="../gun_inform">gun_inform(3)</a> - Informational response </p> -</dd> -</dl></div> -<div class="paragraph"><p>Delete a resource.</p></div> -</div> -<div class="sect2"> -<h3 id="_get_connpid_path_8594_get_connpid_path">get(ConnPid, Path) → get(ConnPid, Path, [], #{})</h3> -<div class="paragraph"><p>Alias of <code>gun:get/4</code>.</p></div> -</div> -<div class="sect2"> -<h3 id="_get_connpid_path_headers_8594_get_connpid_path_headers">get(ConnPid, Path, Headers) → get(ConnPid, Path, Headers, #{})</h3> -<div class="paragraph"><p>Alias of <code>gun:get/4</code>.</p></div> -</div> -<div class="sect2"> -<h3 id="_get_connpid_path_headers_reqopts_8594_streamref">get(ConnPid, Path, Headers, ReqOpts) → StreamRef</h3> -<div class="dlist"><dl> -<dt class="hdlist1"> -ConnPid = pid() -</dt> -<dd> +</li> +<li> <p> -The pid of the Gun connection process. +<a href="../gun_response">gun_response(3)</a> - Response </p> -</dd> -<dt class="hdlist1"> -Path = iodata() -</dt> -<dd> +</li> +<li> <p> -Path to the resource. +<a href="../gun_data">gun_data(3)</a> - Response body </p> -</dd> -<dt class="hdlist1"> -Headers = [{binary(), iodata()}] -</dt> -<dd> +</li> +<li> <p> -Additional request headers. +<a href="../gun_trailers">gun_trailers(3)</a> - Response trailers </p> -</dd> -<dt class="hdlist1"> -ReqOpts = req_opts() -</dt> -<dd> +</li> +</ul></div> +<div class="paragraph"><p>Websocket:</p></div> +<div class="ulist"><ul> +<li> <p> -Request options. +<a href="../gun_ws">gun_ws(3)</a> - Websocket frame </p> -</dd> -<dt class="hdlist1"> -StreamRef = reference() -</dt> -<dd> -<p> -Identifier of the stream for this request. -</p> -</dd> -</dl></div> -<div class="paragraph"><p>Get a resource.</p></div> -</div> -<div class="sect2"> -<h3 id="_head_connpid_path_8594_head_connpid_path">head(ConnPid, Path) → head(ConnPid, Path, [], #{})</h3> -<div class="paragraph"><p>Alias of <code>gun:head/4</code>.</p></div> -</div> -<div class="sect2"> -<h3 id="_head_connpid_path_headers_8594_head_connpid_path_headers">head(ConnPid, Path, Headers) → head(ConnPid, Path, Headers, #{})</h3> -<div class="paragraph"><p>Alias of <code>gun:head/4</code>.</p></div> -</div> -<div class="sect2"> -<h3 id="_head_connpid_path_headers_reqopts_8594_streamref">head(ConnPid, Path, Headers, ReqOpts) → StreamRef</h3> -<div class="dlist"><dl> -<dt class="hdlist1"> -ConnPid = pid() -</dt> -<dd> -<p> -The pid of the Gun connection process. -</p> -</dd> -<dt class="hdlist1"> -Path = iodata() -</dt> -<dd> -<p> -Path to the resource. -</p> -</dd> -<dt class="hdlist1"> -Headers = [{binary(), iodata()}] -</dt> -<dd> -<p> -Additional request headers. -</p> -</dd> -<dt class="hdlist1"> -ReqOpts = req_opts() -</dt> -<dd> -<p> -Request options. -</p> -</dd> -<dt class="hdlist1"> -StreamRef = reference() -</dt> -<dd> -<p> -Identifier of the stream for this request. -</p> -</dd> -</dl></div> -<div class="paragraph"><p>Get headers of a resource.</p></div> -<div class="paragraph"><p>This function performs the same operation as <code>get/{2,3}</code> except -the server will not send the resource representation, only the -response’s status line and headers.</p></div> -<div class="paragraph"><p>While servers should send the same headers they would if the -request was a GET, like <code>content-length</code>, it is not always -the case and differences may exist.</p></div> +</li> +</ul></div> +<div class="paragraph"><p>The response messages will be sent to the process that opened +the connection by default. The <code>reply_to</code> request option can +be used to redirect request-specific messages to a different +process.</p></div> </div> -<div class="sect2"> -<h3 id="_options_connpid_path_8594_options_connpid_path">options(ConnPid, Path) → options(ConnPid, Path, [], #{})</h3> -<div class="paragraph"><p>Alias of <code>gun:options/4</code>.</p></div> -</div> -<div class="sect2"> -<h3 id="_options_connpid_path_headers_8594_options_connpid_path_headers">options(ConnPid, Path, Headers) → options(ConnPid, Path, Headers, #{})</h3> -<div class="paragraph"><p>Alias of <code>gun:options/4</code>.</p></div> -</div> -<div class="sect2"> -<h3 id="_options_connpid_path_headers_reqopts_8594_streamref">options(ConnPid, Path, Headers, ReqOpts) → StreamRef</h3> -<div class="dlist"><dl> -<dt class="hdlist1"> -ConnPid = pid() -</dt> -<dd> -<p> -The pid of the Gun connection process. -</p> -</dd> -<dt class="hdlist1"> -Path = iodata() -</dt> -<dd> -<p> -Path to the resource. -</p> -</dd> -<dt class="hdlist1"> -Headers = [{binary(), iodata()}] -</dt> -<dd> -<p> -Additional request headers. -</p> -</dd> -<dt class="hdlist1"> -ReqOpts = req_opts() -</dt> -<dd> -<p> -Request options. -</p> -</dd> -<dt class="hdlist1"> -StreamRef = reference() -</dt> -<dd> -<p> -Identifier of the stream for this request. -</p> -</dd> -</dl></div> -<div class="paragraph"><p>Obtain information about the capabilities of the server or of a resource.</p></div> -<div class="paragraph"><p>The special path <code>"*"</code> can be used to obtain information about -the server as a whole. Any other path will return information -about the resource only.</p></div> -</div> -<div class="sect2"> -<h3 id="_patch_connpid_path_headers_8594_streamref">patch(ConnPid, Path, Headers) → StreamRef</h3> -<div class="dlist"><dl> -<dt class="hdlist1"> -ConnPid = pid() -</dt> -<dd> -<p> -The pid of the Gun connection process. -</p> -</dd> -<dt class="hdlist1"> -Path = iodata() -</dt> -<dd> -<p> -Path to the resource. -</p> -</dd> -<dt class="hdlist1"> -Headers = [{binary(), iodata()}] -</dt> -<dd> -<p> -Additional request headers. -</p> -</dd> -<dt class="hdlist1"> -StreamRef = reference() -</dt> -<dd> -<p> -Identifier of the stream for this request. -</p> -</dd> -</dl></div> -<div class="paragraph"><p>Request that a set of changes be applied to the resource.</p></div> -<div class="paragraph"><p>This function expects either <code>content-length</code> or <code>content-type</code> -to be set to know a body is going to be sent afterwards. -Gun will assume the request has no body otherwise. It is -highly recommended to set both when possible.</p></div> -<div class="paragraph"><p>The body sent in this request should be a patch document -with instructions on how to update the resource.</p></div> -<div class="paragraph"><p>You can use the <code>gun:data/4</code> function to send the body, if any.</p></div> -</div> -<div class="sect2"> -<h3 id="_patch_connpid_path_headers_body_8594_patch_connpid_path_headers_body">patch(ConnPid, Path, Headers, Body) → patch(ConnPid, Path, Headers, Body, #{})</h3> -<div class="paragraph"><p>Alias of <code>gun:patch/5</code>.</p></div> -</div> -<div class="sect2"> -<h3 id="_patch_connpid_path_headers_body_reqopts_8594_streamref">patch(ConnPid, Path, Headers, Body, ReqOpts) → StreamRef</h3> -<div class="dlist"><dl> -<dt class="hdlist1"> -ConnPid = pid() -</dt> -<dd> -<p> -The pid of the Gun connection process. -</p> -</dd> -<dt class="hdlist1"> -Path = iodata() -</dt> -<dd> -<p> -Path to the resource. -</p> -</dd> -<dt class="hdlist1"> -Headers = [{binary(), iodata()}] -</dt> -<dd> -<p> -Additional request headers. -</p> -</dd> -<dt class="hdlist1"> -Body = iodata() -</dt> -<dd> -<p> -Body of the request. -</p> -</dd> -<dt class="hdlist1"> -ReqOpts = req_opts() -</dt> -<dd> -<p> -Request options. -</p> -</dd> -<dt class="hdlist1"> -StreamRef = reference() -</dt> -<dd> -<p> -Identifier of the stream for this request. -</p> -</dd> -</dl></div> -<div class="paragraph"><p>Request that a set of changes be applied to the resource.</p></div> -<div class="paragraph"><p>It is highly recommended to set the <code>content-type</code> header -to inform the server what media type the body contains. -Gun will automatically set the <code>content-length</code> header.</p></div> -<div class="paragraph"><p>The body sent in this request should be a patch document -with instructions on how to update the resource.</p></div> -<div class="paragraph"><p>The complete request is sent when calling this function. -It is not possible to stream more of the body after -calling it.</p></div> -</div> -<div class="sect2"> -<h3 id="_post_connpid_path_headers_8594_streamref">post(ConnPid, Path, Headers) → StreamRef</h3> -<div class="dlist"><dl> -<dt class="hdlist1"> -ConnPid = pid() -</dt> -<dd> -<p> -The pid of the Gun connection process. -</p> -</dd> -<dt class="hdlist1"> -Path = iodata() -</dt> -<dd> -<p> -Path to the resource. -</p> -</dd> -<dt class="hdlist1"> -Headers = [{binary(), iodata()}] -</dt> -<dd> -<p> -Additional request headers. -</p> -</dd> -<dt class="hdlist1"> -StreamRef = reference() -</dt> -<dd> -<p> -Identifier of the stream for this request. -</p> -</dd> -</dl></div> -<div class="paragraph"><p>Process the enclosed representation according to the resource’s own semantics.</p></div> -<div class="paragraph"><p>This function expects either <code>content-length</code> or <code>content-type</code> -to be set to know a body is going to be sent afterwards. -Gun will assume the request has no body otherwise. It is -highly recommended to set both when possible.</p></div> -<div class="paragraph"><p>The body sent in this request will be processed -according to the resource’s own semantics. A new -resource may be created as a result, and may be -located at a different URI.</p></div> -<div class="paragraph"><p>You can use the <code>gun:data/4</code> function to send the body, if any.</p></div> -</div> -<div class="sect2"> -<h3 id="_post_connpid_path_headers_body_8594_post_connpid_path_headers_body">post(ConnPid, Path, Headers, Body) → post(ConnPid, Path, Headers, Body, #{})</h3> -<div class="paragraph"><p>Alias of <code>gun:post/5</code>.</p></div> -</div> -<div class="sect2"> -<h3 id="_post_connpid_path_headers_body_reqopts_8594_streamref">post(ConnPid, Path, Headers, Body, ReqOpts) → StreamRef</h3> -<div class="dlist"><dl> -<dt class="hdlist1"> -ConnPid = pid() -</dt> -<dd> -<p> -The pid of the Gun connection process. -</p> -</dd> -<dt class="hdlist1"> -Path = iodata() -</dt> -<dd> -<p> -Path to the resource. -</p> -</dd> -<dt class="hdlist1"> -Headers = [{binary(), iodata()}] -</dt> -<dd> -<p> -Additional request headers. -</p> -</dd> -<dt class="hdlist1"> -Body = iodata() -</dt> -<dd> -<p> -Body of the request. -</p> -</dd> -<dt class="hdlist1"> -ReqOpts = req_opts() -</dt> -<dd> -<p> -Request options. -</p> -</dd> -<dt class="hdlist1"> -StreamRef = reference() -</dt> -<dd> -<p> -Identifier of the stream for this request. -</p> -</dd> -</dl></div> -<div class="paragraph"><p>Process the enclosed representation according to the resource’s own semantics.</p></div> -<div class="paragraph"><p>It is highly recommended to set the <code>content-type</code> header -to inform the server what media type the body contains. -Gun will automatically set the <code>content-length</code> header.</p></div> -<div class="paragraph"><p>The body sent in this request will be processed -according to the resource’s own semantics. A new -resource may be created as a result, and may be -located at a different URI.</p></div> -<div class="paragraph"><p>The complete request is sent when calling this function. -It is not possible to stream more of the body after -calling it.</p></div> -</div> -<div class="sect2"> -<h3 id="_put_connpid_path_headers_8594_streamref">put(ConnPid, Path, Headers) → StreamRef</h3> -<div class="dlist"><dl> -<dt class="hdlist1"> -ConnPid = pid() -</dt> -<dd> -<p> -The pid of the Gun connection process. -</p> -</dd> -<dt class="hdlist1"> -Path = iodata() -</dt> -<dd> -<p> -Path to the resource. -</p> -</dd> -<dt class="hdlist1"> -Headers = [{binary(), iodata()}] -</dt> -<dd> -<p> -Additional request headers. -</p> -</dd> -<dt class="hdlist1"> -StreamRef = reference() -</dt> -<dd> -<p> -Identifier of the stream for this request. -</p> -</dd> -</dl></div> -<div class="paragraph"><p>Create or replace a resource.</p></div> -<div class="paragraph"><p>The body of the request is the entire representation of the resource.</p></div> -<div class="paragraph"><p>This function expects either <code>content-length</code> or <code>content-type</code> -to be set to know a body is going to be sent afterwards. -Gun will assume the request has no body otherwise. It is -highly recommended to set both when possible.</p></div> -<div class="paragraph"><p>You can use the <code>gun:data/4</code> function to send the body, if any.</p></div> -</div> -<div class="sect2"> -<h3 id="_put_connpid_path_headers_body_8594_put_connpid_path_headers_body">put(ConnPid, Path, Headers, Body) → put(ConnPid, Path, Headers, Body, #{})</h3> -<div class="paragraph"><p>Alias of <code>gun:put/5</code>.</p></div> -</div> -<div class="sect2"> -<h3 id="_put_connpid_path_headers_body_reqopts_8594_streamref">put(ConnPid, Path, Headers, Body, ReqOpts) → StreamRef</h3> -<div class="dlist"><dl> -<dt class="hdlist1"> -ConnPid = pid() -</dt> -<dd> -<p> -The pid of the Gun connection process. -</p> -</dd> -<dt class="hdlist1"> -Path = iodata() -</dt> -<dd> -<p> -Path to the resource. -</p> -</dd> -<dt class="hdlist1"> -Headers = [{binary(), iodata()}] -</dt> -<dd> -<p> -Additional request headers. -</p> -</dd> -<dt class="hdlist1"> -Body = iodata() -</dt> -<dd> -<p> -Body of the request. -</p> -</dd> -<dt class="hdlist1"> -ReqOpts = req_opts() -</dt> -<dd> -<p> -Request options. -</p> -</dd> -<dt class="hdlist1"> -StreamRef = reference() -</dt> -<dd> -<p> -Identifier of the stream for this request. -</p> -</dd> -</dl></div> -<div class="paragraph"><p>Create or replace a resource.</p></div> -<div class="paragraph"><p>The body of the request is the entire representation of the resource.</p></div> -<div class="paragraph"><p>It is highly recommended to set the <code>content-type</code> header -to inform the server what media type the body contains. -Gun will automatically set the <code>content-length</code> header.</p></div> -<div class="paragraph"><p>The complete request is sent when calling this function. -It is not possible to stream more of the body after -calling it.</p></div> </div> +<div class="sect1"> +<h2 id="_types">Types</h2> +<div class="sectionbody"> <div class="sect2"> -<h3 id="_request_connpid_method_path_headers_8594_streamref">request(ConnPid, Method, Path, Headers) → StreamRef</h3> +<h3 id="_http_opts">http_opts()</h3> +<div class="listingblock"> +<div class="content"><!-- Generator: GNU source-highlight +by Lorenzo Bettini +http://www.lorenzobettini.it +http://www.gnu.org/software/src-highlite --> +<pre><tt><span style="font-weight: bold"><span style="color: #000000">http_opts</span></span>() <span style="color: #990000">::</span> #{ + <span style="color: #0000FF">keepalive</span> <span style="color: #990000">=></span> <span style="font-weight: bold"><span style="color: #000000">timeout</span></span>(), + <span style="color: #0000FF">transform_header_name</span> <span style="color: #990000">=></span> <span style="font-weight: bold"><span style="color: #0000FF">fun</span></span>((<span style="font-weight: bold"><span style="color: #000080">binary</span></span>()) <span style="color: #990000">-></span> <span style="font-weight: bold"><span style="color: #000080">binary</span></span>()), + <span style="color: #0000FF">version</span> <span style="color: #990000">=></span> <span style="color: #FF6600">'HTTP/1.1'</span> | <span style="color: #FF6600">'HTTP/1.0'</span> +}</tt></pre></div></div> +<div class="paragraph"><p>Configuration for the HTTP protocol.</p></div> +<div class="paragraph"><p>The default value is given next to the option name:</p></div> <div class="dlist"><dl> <dt class="hdlist1"> -ConnPid = pid() -</dt> -<dd> -<p> -The pid of the Gun connection process. -</p> -</dd> -<dt class="hdlist1"> -Method = iodata() -</dt> -<dd> -<p> -Request method. -</p> -</dd> -<dt class="hdlist1"> -Path = iodata() +keepalive (5000) </dt> <dd> <p> -Path of the resource. +Time between pings in milliseconds. Since the HTTP protocol has +no standardized way to ping the server, Gun will simply send an +empty line when the connection is idle. Gun only makes a best +effort here as servers usually have configurable limits to drop +idle connections. Use <code>infinity</code> to disable. </p> </dd> <dt class="hdlist1"> -Headers = [{binary(), iodata()}] +transform_header_name - see below </dt> <dd> <p> -Additional request headers. +A function that will be applied to all header names before they +are sent to the server. Gun assumes that all header names are in +lower case. This function is useful if you, for example, need to +re-case header names in the event that the server incorrectly +considers the case of header names to be significant. </p> </dd> <dt class="hdlist1"> -StreamRef = reference() +version (<code>'HTTP/1.1'</code>) </dt> <dd> <p> -Identifier of the stream for this request. +HTTP version to use. </p> </dd> </dl></div> -<div class="paragraph"><p>Perform the given request.</p></div> -<div class="paragraph"><p>This is a general purpose function that should only be used -when existing method-specific functions don’t apply.</p></div> -<div class="paragraph"><p>This function expects either <code>content-length</code> or <code>content-type</code> -to be set to know a body is going to be sent afterwards. -Gun will assume the request has no body otherwise. It is -highly recommended to set both when possible.</p></div> -<div class="paragraph"><p>You can use the <code>gun:data/4</code> function to send the body, if any.</p></div> -</div> -<div class="sect2"> -<h3 id="_request_connpid_method_path_headers_body_8594_request_connpid_method_path_headers_body">request(ConnPid, Method, Path, Headers, Body) → request(ConnPid, Method, Path, Headers, Body, #{})</h3> -<div class="paragraph"><p>Alias of <code>gun:request/6</code>.</p></div> </div> <div class="sect2"> -<h3 id="_request_connpid_method_path_headers_body_reqopts_8594_streamref">request(ConnPid, Method, Path, Headers, Body, ReqOpts) → StreamRef</h3> -<div class="dlist"><dl> -<dt class="hdlist1"> -ConnPid = pid() -</dt> -<dd> -<p> -The pid of the Gun connection process. -</p> -</dd> -<dt class="hdlist1"> -Method = iodata() -</dt> -<dd> -<p> -Request method. -</p> -</dd> -<dt class="hdlist1"> -Path = iodata() -</dt> -<dd> -<p> -Path of the resource. -</p> -</dd> -<dt class="hdlist1"> -Headers = [{binary(), iodata()}] -</dt> -<dd> -<p> -Additional request headers. -</p> -</dd> -<dt class="hdlist1"> -Body = iodata() -</dt> -<dd> -<p> -Body of the request. -</p> -</dd> -<dt class="hdlist1"> -ReqOpts = req_opts() -</dt> -<dd> -<p> -Request options. -</p> -</dd> -<dt class="hdlist1"> -StreamRef = reference() -</dt> -<dd> -<p> -Identifier of the stream for this request. -</p> -</dd> -</dl></div> -<div class="paragraph"><p>Perform the given request.</p></div> -<div class="paragraph"><p>This is a general purpose function that should only be used -when existing method-specific functions don’t apply.</p></div> -<div class="paragraph"><p>It is highly recommended to set the <code>content-type</code> header -to inform the server what media type the body contains. -Gun will automatically set the <code>content-length</code> header.</p></div> -<div class="paragraph"><p>The complete request is sent when calling this function. -It is not possible to stream more of the body after -calling it.</p></div> -</div> -<div class="sect2"> -<h3 id="_data_connpid_streamref_isfin_data_8594_ok">data(ConnPid, StreamRef, IsFin, Data) → ok</h3> +<h3 id="_http2_opts">http2_opts()</h3> +<div class="listingblock"> +<div class="content"><!-- Generator: GNU source-highlight +by Lorenzo Bettini +http://www.lorenzobettini.it +http://www.gnu.org/software/src-highlite --> +<pre><tt><span style="font-weight: bold"><span style="color: #000000">http2_opts</span></span>() <span style="color: #990000">::</span> #{ + <span style="color: #0000FF">keepalive</span> <span style="color: #990000">=></span> <span style="font-weight: bold"><span style="color: #000000">timeout</span></span>() +}</tt></pre></div></div> +<div class="paragraph"><p>Configuration for the HTTP/2 protocol.</p></div> +<div class="paragraph"><p>The default value is given next to the option name:</p></div> <div class="dlist"><dl> <dt class="hdlist1"> -ConnPid = pid() +keepalive (5000) </dt> <dd> <p> -The pid of the Gun connection process. -</p> -</dd> -<dt class="hdlist1"> -StreamRef = reference() -</dt> -<dd> -<p> -Identifier of the stream this data belongs to. -</p> -</dd> -<dt class="hdlist1"> -IsFin = fin | nofin -</dt> -<dd> -<p> -Whether this message terminates the request. -</p> -</dd> -<dt class="hdlist1"> -Data = iodata() -</dt> -<dd> -<p> -Data to be sent with the request. +Time between pings in milliseconds. </p> </dd> </dl></div> -<div class="paragraph"><p>Stream the body of a request.</p></div> -<div class="paragraph"><p>@todo empty chunks</p></div> -<div class="paragraph"><p>This function can only be used if the request identified by -<code>StreamRef</code> came with headers indicating the presence of a -body and that body not being given when creating the request.</p></div> -<div class="paragraph"><p>All calls to this function must use <code>nofin</code> except for the -last which must use <code>fin</code> to indicate the end of the request -body.</p></div> -<div class="paragraph"><p>Empty data is allowed regardless of the value of <code>IsFin</code>. -Gun will not send empty data chunks unless required to -indicate the request body is finished, however.</p></div> -</div> -<div class="sect2"> -<h3 id="_await_connpid_streamref_8594_await_connpid_streamref_5000_monitorref">await(ConnPid, StreamRef) → await(ConnPid, StreamRef, 5000, MonitorRef)</h3> -<div class="paragraph"><p>Alias of <code>gun:await/4</code>.</p></div> -<div class="paragraph"><p>A monitor <code>MonitorRef</code> is automatically created for the duration of -this call and an error will be returned if the Gun connection process -terminates.</p></div> -</div> -<div class="sect2"> -<h3 id="_await_connpid_streamref_monitorref_8594_await_connpid_streamref_5000_monitorref">await(ConnPid, StreamRef, MonitorRef) → await(ConnPid, StreamRef, 5000, MonitorRef)</h3> -<div class="paragraph"><p>Alias of <code>gun:await/4</code>.</p></div> </div> <div class="sect2"> -<h3 id="_await_connpid_streamref_timeout_8594_await_connpid_streamref_timeout_monitorref">await(ConnPid, StreamRef, Timeout) → await(ConnPid, StreamRef, Timeout, MonitorRef)</h3> -<div class="paragraph"><p>Alias of <code>gun:await/4</code>.</p></div> -<div class="paragraph"><p>A monitor <code>MonitorRef</code> is automatically created for the duration of -this call and an error will be returned if the Gun connection process -terminates.</p></div> -</div> -<div class="sect2"> -<h3 id="_await_connpid_streamref_timeout_monitorref_8594_tuple_8201_8212_8201_see_below">await(ConnPid, StreamRef, Timeout, MonitorRef) → tuple() — see below</h3> -<div class="dlist"><dl> -<dt class="hdlist1"> -ConnPid = pid() -</dt> -<dd> -<p> -The pid of the Gun connection process. -</p> -</dd> -<dt class="hdlist1"> -StreamRef = reference() -</dt> -<dd> -<p> -Identifier of the stream to await messages from. -</p> -</dd> -<dt class="hdlist1"> -Timeout = timeout() -</dt> -<dd> -<p> -How long this function will wait for messages. -</p> -</dd> -<dt class="hdlist1"> -MonitorRef = reference() -</dt> -<dd> -<p> -Monitor reference for the Gun connection process. -</p> -</dd> -</dl></div> -<div class="paragraph"><p>Wait for a response message.</p></div> -<div class="paragraph"><p>This function can be used when a synchronous handling of -responses is desired. It will only return when a message -for the given stream is received, on error or on timeout.</p></div> -<div class="paragraph"><p>The return values are described in the next few subsections.</p></div> -<div class="sect3"> -<h4 id="_response_isfin_status_headers">{response, IsFin, Status, Headers}</h4> -<div class="dlist"><dl> -<dt class="hdlist1"> -IsFin = fin | nofin -</dt> -<dd> -<p> -Whether this message terminates the response. -</p> -</dd> -<dt class="hdlist1"> -Status = binary() -</dt> -<dd> -<p> -Status line for the response. -</p> -</dd> -<dt class="hdlist1"> -Headers = [{binary(), binary()}] -</dt> -<dd> -<p> -Headers sent with the response. -</p> -</dd> -</dl></div> -<div class="paragraph"><p>Equivalent of a <code>gun_response</code> message.</p></div> -</div> -<div class="sect3"> -<h4 id="_data_isfin_data">{data, IsFin, Data}</h4> -<div class="dlist"><dl> -<dt class="hdlist1"> -IsFin = fin | nofin -</dt> -<dd> -<p> -Whether this message terminates the response. -</p> -</dd> -<dt class="hdlist1"> -Data = binary() -</dt> -<dd> -<p> -Data from the stream. -</p> -</dd> -</dl></div> -<div class="paragraph"><p>Equivalent of a <code>gun_data</code> message.</p></div> -</div> -<div class="sect3"> -<h4 id="_push_newstreamref_uri_headers">{push, NewStreamRef, URI, Headers}</h4> +<h3 id="_opts">opts()</h3> +<div class="listingblock"> +<div class="content"><!-- Generator: GNU source-highlight +by Lorenzo Bettini +http://www.lorenzobettini.it +http://www.gnu.org/software/src-highlite --> +<pre><tt><span style="font-weight: bold"><span style="color: #000000">opts</span></span>() <span style="color: #990000">::</span> #{ + <span style="color: #0000FF">connect_timeout</span> <span style="color: #990000">=></span> <span style="font-weight: bold"><span style="color: #000000">timeout</span></span>(), + <span style="color: #0000FF">http_opts</span> <span style="color: #990000">=></span> <span style="font-weight: bold"><span style="color: #000000">http_opts</span></span>(), + <span style="color: #0000FF">http2_opts</span> <span style="color: #990000">=></span> <span style="font-weight: bold"><span style="color: #000000">http2_opts</span></span>(), + <span style="color: #0000FF">protocols</span> <span style="color: #990000">=></span> [<span style="color: #FF6600">http</span> | <span style="color: #FF6600">http2</span>], + <span style="color: #0000FF">retry</span> <span style="color: #990000">=></span> <span style="font-weight: bold"><span style="color: #000000">non_neg_integer</span></span>(), + <span style="color: #0000FF">retry_timeout</span> <span style="color: #990000">=></span> <span style="font-weight: bold"><span style="color: #000000">pos_integer</span></span>(), + <span style="color: #0000FF">trace</span> <span style="color: #990000">=></span> <span style="font-weight: bold"><span style="color: #000000">boolean</span></span>(), + <span style="color: #0000FF">transport</span> <span style="color: #990000">=></span> <span style="color: #FF6600">tcp</span> | <span style="color: #FF6600">tls</span>, + <span style="color: #0000FF">transport_opts</span> <span style="color: #990000">=></span> [<span style="font-weight: bold"><span style="color: #000000">gen_tcp:connect_option</span></span>()] | [<span style="font-weight: bold"><span style="color: #000000">ssl:connect_option</span></span>()], + <span style="color: #0000FF">ws_opts</span> <span style="color: #990000">=></span> <span style="font-weight: bold"><span style="color: #000000">ws_opts</span></span>() +}</tt></pre></div></div> +<div class="paragraph"><p>Configuration for the connection.</p></div> +<div class="paragraph"><p>The default value is given next to the option name:</p></div> <div class="dlist"><dl> <dt class="hdlist1"> -NewStreamRef = reference() +connect_timeout (infinity) </dt> <dd> <p> -Identifier of the stream being pushed. +Connection timeout. </p> </dd> <dt class="hdlist1"> -URI = binary() +http_opts (#{}) </dt> <dd> <p> -URI of the resource. +Options specific to the HTTP protocol. </p> </dd> <dt class="hdlist1"> -Headers = [{binary(), binary()}] +http2_opts (#{}) </dt> <dd> <p> -Headers @todo +Options specific to the HTTP/2 protocol. </p> </dd> -</dl></div> -<div class="paragraph"><p>Equivalent of a <code>gun_push</code> message.</p></div> -<div class="paragraph"><p>@todo Same changes as gun_push</p></div> -</div> -<div class="sect3"> -<h4 id="_error_reason">{error, Reason}</h4> -<div class="dlist"><dl> <dt class="hdlist1"> -Reason = any() +protocols - see below </dt> <dd> <p> -Error reason. @todo any? +Ordered list of preferred protocols. When the transport is <code>tcp</code>, +this list must contain exactly one protocol. When the transport +is <code>tls</code>, this list must contain at least one protocol and will be +used to negotiate a protocol via ALPN. When the server does not +support ALPN then <code>http</code> will always be used. Defaults to +<code>[http]</code> when the transport is <code>tcp</code>, and <code>[http2, http]</code> when the +transport is <code>tls</code>. </p> </dd> -</dl></div> -<div class="paragraph"><p>Equivalent of a <code>gun_error</code> message.</p></div> -<div class="paragraph"><p>@todo I think we want to distinguish a stream error, a general error, -@todo a DOWN and a timeout error</p></div> -</div> -</div> -<div class="sect2"> -<h3 id="_await_body_connpid_streamref_8594_await_body_connpid_streamref_5000_monitorref">await_body(ConnPid, StreamRef) → await_body(ConnPid, StreamRef, 5000, MonitorRef)</h3> -<div class="paragraph"><p>Alias of <code>gun:await_body/4</code>.</p></div> -<div class="paragraph"><p>A monitor <code>MonitorRef</code> is automatically created for the duration of -this call and an error will be returned if the Gun connection process -terminates.</p></div> -</div> -<div class="sect2"> -<h3 id="_await_body_connpid_streamref_monitorref_8594_await_body_connpid_streamref_5000_monitorref">await_body(ConnPid, StreamRef, MonitorRef) → await_body(ConnPid, StreamRef, 5000, MonitorRef)</h3> -<div class="paragraph"><p>Alias of <code>gun:await_body/4</code>.</p></div> -</div> -<div class="sect2"> -<h3 id="_await_body_connpid_streamref_timeout_8594_await_body_connpid_streamref_timeout_monitorref">await_body(ConnPid, StreamRef, Timeout) → await_body(ConnPid, StreamRef, Timeout, MonitorRef)</h3> -<div class="paragraph"><p>Alias of <code>gun:await_body/4</code>.</p></div> -<div class="paragraph"><p>A monitor <code>MonitorRef</code> is automatically created for the duration of -this call and an error will be returned if the Gun connection process -terminates.</p></div> -</div> -<div class="sect2"> -<h3 id="_await_body_connpid_streamref_timeout_monitorref_8594_ok_body_error_reason">await_body(ConnPid, StreamRef, Timeout, MonitorRef) → {ok, Body} | {error, Reason}</h3> -<div class="dlist"><dl> <dt class="hdlist1"> -ConnPid = pid() +retry (5) </dt> <dd> <p> -The pid of the Gun connection process. +Number of times Gun will try to reconnect on failure before giving up. </p> </dd> <dt class="hdlist1"> -StreamRef = reference() +retry_timeout (5000) </dt> <dd> <p> -Identifier of the stream to await messages from. +Time between retries in milliseconds. </p> </dd> <dt class="hdlist1"> -Timeout = timeout() +trace (false) </dt> <dd> <p> -How long this function will wait for each message. +Whether to enable <code>dbg</code> tracing of the connection process. Should +only be used during debugging. </p> </dd> <dt class="hdlist1"> -MonitorRef = reference() +transport - see below </dt> <dd> <p> -Monitor reference for the Gun connection process. +Whether to use TLS or plain TCP. The default varies depending on the +port used. Port 443 defaults to <code>tls</code>. All other ports default to <code>tcp</code>. </p> </dd> <dt class="hdlist1"> -Body = binary() +transport_opts ([]) </dt> <dd> <p> -Body for the given stream. +Transport options. They are TCP options or TLS options depending on +the selected transport. </p> </dd> <dt class="hdlist1"> -Reason = any() +ws_opts (#{}) </dt> <dd> <p> -Error reason. @todo any? +Options specific to the Websocket protocol. </p> </dd> </dl></div> -<div class="paragraph"><p>Wait for a response body.</p></div> -<div class="paragraph"><p>This function can be used when a synchronous handling of -responses is desired. It will only return when it has -finished fetching the entire response body.</p></div> -<div class="paragraph"><p>The timeout value is <strong>per message</strong>. The actual function call -can last much longer for large bodies.</p></div> -<div class="paragraph"><p>@todo I think we want to distinguish a stream error, a general error, -@todo a DOWN and a timeout error</p></div> -<div class="paragraph"><p>@todo guide might be a little incorrect about await/await_body</p></div> </div> <div class="sect2"> -<h3 id="_flush_connpid_8594_ok">flush(ConnPid) → ok</h3> -<div class="dlist"><dl> -<dt class="hdlist1"> -ConnPid = pid() -</dt> -<dd> -<p> -The pid of the Gun connection process. -</p> -</dd> -</dl></div> -<div class="paragraph"><p>Flush all messages from the Gun connection process from the mailbox.</p></div> -</div> -<div class="sect2"> -<h3 id="_flush_streamref_8594_ok">flush(StreamRef) → ok</h3> +<h3 id="_req_opts">req_opts()</h3> +<div class="listingblock"> +<div class="content"><!-- Generator: GNU source-highlight +by Lorenzo Bettini +http://www.lorenzobettini.it +http://www.gnu.org/software/src-highlite --> +<pre><tt><span style="font-weight: bold"><span style="color: #000000">req_opts</span></span>() <span style="color: #990000">::</span> #{ + <span style="color: #0000FF">reply_to</span> <span style="color: #990000">=></span> <span style="font-weight: bold"><span style="color: #000080">pid</span></span>() +}</tt></pre></div></div> +<div class="paragraph"><p>Configuration for a particular request.</p></div> +<div class="paragraph"><p>The default value is given next to the option name:</p></div> <div class="dlist"><dl> <dt class="hdlist1"> -StreamRef = reference() +reply_to (<code>self()</code>) </dt> <dd> <p> -Stream identifier. +The pid of the process that will receive the response messages. </p> </dd> </dl></div> -<div class="paragraph"><p>Flush all messages related to the given stream.</p></div> </div> <div class="sect2"> -<h3 id="_cancel_connpid_streamref_8594_ok">cancel(ConnPid, StreamRef) → ok</h3> +<h3 id="_ws_opts">ws_opts()</h3> +<div class="listingblock"> +<div class="content"><!-- Generator: GNU source-highlight +by Lorenzo Bettini +http://www.lorenzobettini.it +http://www.gnu.org/software/src-highlite --> +<pre><tt><span style="font-weight: bold"><span style="color: #000000">ws_opts</span></span>() <span style="color: #990000">::</span> #{ + <span style="color: #0000FF">compress</span> <span style="color: #990000">=></span> <span style="font-weight: bold"><span style="color: #000000">boolean</span></span>() +}</tt></pre></div></div> +<div class="paragraph"><p>Configuration for the Websocket protocol.</p></div> +<div class="paragraph"><p>The default value is given next to the option name:</p></div> <div class="dlist"><dl> <dt class="hdlist1"> -ConnPid = pid() -</dt> -<dd> -<p> -The pid of the Gun connection process. -</p> -</dd> -<dt class="hdlist1"> -StreamRef = reference() +compress ⇒ boolean() </dt> <dd> <p> -Identifier of the stream to cancel. +Whether to enable permessage-deflate compression. This does +not guarantee that compression will be used as it is the +server that ultimately decides. Defaults to false. </p> </dd> </dl></div> -<div class="paragraph"><p>Cancel the given stream.</p></div> -<div class="paragraph"><p>HTTP/1.1 streams can’t be cancelled. Gun will simply silence -the stream and stop relaying messages.</p></div> -<div class="paragraph"><p>@todo Depending on the length -@todo of a response Gun may also attempt to reconnect rather than -@todo receive the entire response body.</p></div> -<div class="paragraph"><p>HTTP/2 streams can however be cancelled at any time.</p></div> -</div> -<div class="sect2"> -<h3 id="_ws_upgrade_connpid_path_8594_ws_upgrade_connpid_path">ws_upgrade(ConnPid, Path) → ws_upgrade(ConnPid, Path, [], #{})</h3> -<div class="paragraph"><p>Alias of <code>gun:ws_upgrade/3</code>.</p></div> </div> -<div class="sect2"> -<h3 id="_ws_upgrade_connpid_path_headers_8594_ok">ws_upgrade(ConnPid, Path, Headers) → ok</h3> -<div class="paragraph"><p>Similar to <code>gun:ws_upgrade/4</code>, except <code>WsOpts</code> is taken from -the options given in the <code>gun:open/{2,3}</code> call when opening -the connection.</p></div> -</div> -<div class="sect2"> -<h3 id="_ws_upgrade_connpid_path_headers_wsopts_8594_ok">ws_upgrade(ConnPid, Path, Headers, WsOpts) → ok</h3> -<div class="dlist"><dl> -<dt class="hdlist1"> -ConnPid = pid() -</dt> -<dd> -<p> -The pid of the Gun connection process. -</p> -</dd> -<dt class="hdlist1"> -Path = iodata() -</dt> -<dd> -<p> -Path to the resource. -</p> -</dd> -<dt class="hdlist1"> -Headers = [{binary(), iodata()}] -</dt> -<dd> -<p> -Additional request headers. -</p> -</dd> -<dt class="hdlist1"> -WsOpts = map() -</dt> -<dd> -<p> -Options for the Websocket connection. -</p> -</dd> -</dl></div> -<div class="paragraph"><p>Request the connection to be upgraded to the Websocket protocol.</p></div> -<div class="paragraph"><p>This function can only be used when the current protocol is <code>http</code>.</p></div> </div> -<div class="sect2"> -<h3 id="_ws_send_connpid_frames_8594_ok">ws_send(ConnPid, Frames) → ok</h3> -<div class="dlist"><dl> -<dt class="hdlist1"> -ConnPid = pid() -</dt> -<dd> -<p> -The pid of the Gun connection process. -</p> -</dd> -<dt class="hdlist1"> -Frames = @todo -</dt> -<dd> -<p> -@todo -</p> -</dd> -</dl></div> -<div class="paragraph"><p>Send one or more Websocket frames.</p></div> -<div class="paragraph"><p>This function can only be used following a successful <code>ws_upgrade</code> call.</p></div> </div> +<div class="sect1"> +<h2 id="_see_also">See also</h2> +<div class="sectionbody"> +<div class="paragraph"><p><a href="../gun_app">gun(7)</a></p></div> </div> </div> diff --git a/docs/en/gun/1.0/manual/gun_app/index.html b/docs/en/gun/1.0/manual/gun_app/index.html index 429cc0dd..de6942c4 100644 --- a/docs/en/gun/1.0/manual/gun_app/index.html +++ b/docs/en/gun/1.0/manual/gun_app/index.html @@ -7,8 +7,6 @@ <meta name="description" content=""> <meta name="author" content="Loïc Hoguin based on a design from (Soft10) Pol Cámara"> - <meta name="generator" content="Hugo 0.37.1" /> - <title>Nine Nines: gun(7)</title> <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic' rel='stylesheet' type='text/css'> @@ -67,22 +65,54 @@ <div class="sect1"> <h2 id="_name">Name</h2> <div class="sectionbody"> -<div class="paragraph"><p>gun - Erlang HTTP client with support for HTTP/1.1, HTTP/2 and Websocket.</p></div> +<div class="paragraph"><p>gun - HTTP/1.1, HTTP/2 and Websocket client for Erlang/OTP</p></div> +</div> +</div> +<div class="sect1"> +<h2 id="_description">Description</h2> +<div class="sectionbody"> +<div class="paragraph"><p>Gun is an HTTP client for Erlang/OTP with support for the +HTTP/1.1, HTTP/2 and Websocket protocols.</p></div> +<div class="paragraph"><p>Gun aims to provide an easy to use, asynchronous and +always-connected client. It maintains a permanent connection +to the server and reconnects automatically when necessary.</p></div> +</div> +</div> +<div class="sect1"> +<h2 id="_modules">Modules</h2> +<div class="sectionbody"> +<div class="ulist"><ul> +<li> +<p> +<a href="../gun">gun(3)</a> - Asynchronous HTTP client +</p> +</li> +</ul></div> </div> </div> <div class="sect1"> <h2 id="_dependencies">Dependencies</h2> <div class="sectionbody"> -<div class="paragraph"><p>The <code>gun</code> application uses the Erlang applications <code>ranch</code> -for abstracting TCP and TLS over a common interface, and -the <code>ssl</code> application for TLS support, required for HTTPS -and secure HTTP/2 support. In addition, Gun requires the <code>crypto</code> -application (a dependency of <code>ssl</code>) for Websocket.</p></div> -<div class="paragraph"><p>These dependencies must be started for the <code>gun</code> -application to work. In an embedded environment -this means that they need to be started with the -<code>application:start/{1,2}</code> function before the <code>gun</code> -application is started.</p></div> +<div class="ulist"><ul> +<li> +<p> +<a href="../cowlib">cowlib(7)</a> - Support library for manipulating Web protocols +</p> +</li> +<li> +<p> +ssl - Secure communication over sockets +</p> +</li> +</ul></div> +<div class="paragraph"><p>All these applications must be started before the <code>gun</code> +application. To start Gun and all dependencies at once:</p></div> +<div class="listingblock"> +<div class="content"><!-- Generator: GNU source-highlight +by Lorenzo Bettini +http://www.lorenzobettini.it +http://www.gnu.org/software/src-highlite --> +<pre><tt>{<span style="color: #FF6600">ok</span>, <span style="color: #990000">_</span>} <span style="color: #990000">=</span> <span style="font-weight: bold"><span style="color: #000000">application:ensure_all_started</span></span>(<span style="color: #FF6600">gun</span>)<span style="color: #990000">.</span></tt></pre></div></div> </div> </div> <div class="sect1"> @@ -92,6 +122,12 @@ application is started.</p></div> environment configuration parameters.</p></div> </div> </div> +<div class="sect1"> +<h2 id="_see_also">See also</h2> +<div class="sectionbody"> +<div class="paragraph"><p><a href="../cowlib">cowlib(7)</a></p></div> +</div> +</div> diff --git a/docs/en/gun/1.0/manual/gun_data/index.html b/docs/en/gun/1.0/manual/gun_data/index.html new file mode 100644 index 00000000..31da2d23 --- /dev/null +++ b/docs/en/gun/1.0/manual/gun_data/index.html @@ -0,0 +1,245 @@ +<!DOCTYPE html> +<html lang="en"> + +<head> + <meta charset="utf-8"> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + <meta name="description" content=""> + <meta name="author" content="Loïc Hoguin based on a design from (Soft10) Pol Cámara"> + + <title>Nine Nines: gun_data(3)</title> + + <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic' rel='stylesheet' type='text/css'> + <link href="/css/99s.css?r=1" rel="stylesheet"> + + <link rel="shortcut icon" href="/img/ico/favicon.ico"> + <link rel="apple-touch-icon-precomposed" sizes="114x114" href="/img/ico/apple-touch-icon-114.png"> + <link rel="apple-touch-icon-precomposed" sizes="72x72" href="/img/ico/apple-touch-icon-72.png"> + <link rel="apple-touch-icon-precomposed" href="/img/ico/apple-touch-icon-57.png"> + + +</head> + + +<body class=""> + <header id="page-head"> + <div id="topbar" class="container"> + <div class="row"> + <div class="span2"> + <h1 id="logo"><a href="/" title="99s">99s</a></h1> + </div> + <div class="span10"> + + <div id="side-header"> + <nav> + <ul> + <li><a title="Hear my thoughts" href="/articles">Articles</a></li> + <li><a title="Watch my talks" href="/talks">Talks</a></li> + <li class="active"><a title="Read the docs" href="/docs">Documentation</a></li> + <li><a title="Request my services" href="/services">Consulting & Training</a></li> + </ul> + </nav> + <ul id="social"> + <li> + <a href="https://github.com/ninenines" title="Check my Github repositories"><img src="/img/ico_github.png" data-hover="/img/ico_github_alt.png" alt="Github"></a> + </li> + <li> + <a title="Contact me" href="mailto:[email protected]"><img src="/img/ico_mail.png" data-hover="/img/ico_mail_alt.png"></a> + </li> + </ul> + </div> + </div> + </div> + </div> + + +</header> + +<div id="contents" class="two_col"> +<div class="container"> +<div class="row"> +<div id="docs" class="span9 maincol"> + +<h1 class="lined-header"><span>gun_data(3)</span></h1> + +<div class="sect1"> +<h2 id="_name">Name</h2> +<div class="sectionbody"> +<div class="paragraph"><p>gun_data - Response body</p></div> +</div> +</div> +<div class="sect1"> +<h2 id="_description">Description</h2> +<div class="sectionbody"> +<div class="listingblock"> +<div class="content"><!-- Generator: GNU source-highlight +by Lorenzo Bettini +http://www.lorenzobettini.it +http://www.gnu.org/software/src-highlite --> +<pre><tt>{<span style="color: #FF6600">gun_data</span>, <span style="color: #009900">ConnPid</span>, <span style="color: #009900">StreamRef</span>, <span style="color: #009900">IsFin</span>, <span style="color: #009900">Data</span>} + +<span style="color: #009900">ConnPid</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">pid</span></span>() +<span style="color: #009900">StreamRef</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">reference</span></span>() +<span style="color: #009900">IsFin</span> <span style="color: #990000">::</span> <span style="color: #FF6600">fin</span> | <span style="color: #FF6600">nofin</span> +<span style="color: #009900">Data</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">binary</span></span>()</tt></pre></div></div> +<div class="paragraph"><p>Response body.</p></div> +<div class="paragraph"><p>This message informs the relevant process that the server +sent a all or part of the body for the response to the +original request.</p></div> +<div class="paragraph"><p>A data message is always preceded by a response message.</p></div> +<div class="paragraph"><p>The response body may be terminated either by a data +message with the flag <code>fin</code> set or by a +<a href="../gun_trailers">gun_trailers(3)</a> message.</p></div> +</div> +</div> +<div class="sect1"> +<h2 id="_elements">Elements</h2> +<div class="sectionbody"> +<div class="dlist"><dl> +<dt class="hdlist1"> +ConnPid +</dt> +<dd> +<p> +The pid of the Gun connection process. +</p> +</dd> +<dt class="hdlist1"> +StreamRef +</dt> +<dd> +<p> +Identifier of the stream for the original request. +</p> +</dd> +<dt class="hdlist1"> +IsFin +</dt> +<dd> +<p> +Whether this message terminates the response. +</p> +</dd> +<dt class="hdlist1"> +Data +</dt> +<dd> +<p> +All or part of the response body. +</p> +</dd> +</dl></div> +</div> +</div> +<div class="sect1"> +<h2 id="_changelog">Changelog</h2> +<div class="sectionbody"> +<div class="ulist"><ul> +<li> +<p> +<strong>1.0</strong>: Message introduced. +</p> +</li> +</ul></div> +</div> +</div> +<div class="sect1"> +<h2 id="_examples">Examples</h2> +<div class="sectionbody"> +<div class="listingblock"> +<div class="title">Receive a gun_data message in a gen_server</div> +<div class="content"><!-- Generator: GNU source-highlight +by Lorenzo Bettini +http://www.lorenzobettini.it +http://www.gnu.org/software/src-highlite --> +<pre><tt><span style="font-weight: bold"><span style="color: #000000">handle_info</span></span>({<span style="color: #FF6600">gun_data</span>, <span style="color: #009900">ConnPid</span>, <span style="color: #009900">_StreamRef</span>, + <span style="color: #009900">_IsFin</span>, <span style="color: #009900">_Data</span>}, + <span style="color: #009900">State</span><span style="color: #990000">=</span><span style="color: #008080">#state</span>{<span style="color: #0000FF">conn_pid</span><span style="color: #990000">=</span><span style="color: #009900">ConnPid</span>}) <span style="color: #990000">-></span> + <span style="font-style: italic"><span style="color: #9A1900">%% Do something.</span></span> + {<span style="color: #FF6600">noreply</span>, <span style="color: #009900">State</span>}<span style="color: #990000">.</span></tt></pre></div></div> +</div> +</div> +<div class="sect1"> +<h2 id="_see_also">See also</h2> +<div class="sectionbody"> +<div class="paragraph"><p><a href="../gun">gun(3)</a>, +<a href="../gun.get">gun:get(3)</a>, +<a href="../gun.head">gun:head(3)</a>, +<a href="../gun.patch">gun:patch(3)</a>, +<a href="../gun.post">gun:post(3)</a>, +<a href="../gun.put">gun:put(3)</a>, +<a href="../gun.delete">gun:delete(3)</a>, +<a href="../gun.options">gun:options(3)</a>, +<a href="../gun.request">gun:request(3)</a>, +<a href="../gun_response">gun_response(3)</a>, +<a href="../gun_trailers">gun_trailers(3)</a></p></div> +</div> +</div> + + + + + +</div> + +<div class="span3 sidecol"> + + +<h3> + Gun + 1.0 + Function Reference + +</h3> + +<ul> + + <li><a href="/docs/en/gun/1.0/guide">User Guide</a></li> + + + <li><a href="/docs/en/gun/1.0/manual">Function Reference</a></li> + + +</ul> + +<h4 id="docs-nav">Navigation</h4> + +<h4>Version select</h4> +<ul> + + + + <li><a href="/docs/en/gun/1.0/manual">1.0</a></li> + +</ul> + +</div> +</div> +</div> +</div> + + <footer> + <div class="container"> + <div class="row"> + <div class="span6"> + <p id="scroll-top"><a href="#">↑ Scroll to top</a></p> + <nav> + <ul> + <li><a href="mailto:[email protected]" title="Contact us">Contact us</a></li><li><a href="https://github.com/ninenines/ninenines.github.io" title="Github repository">Contribute to this site</a></li> + </ul> + </nav> + </div> + <div class="span6 credits"> + <p><img src="/img/footer_logo.png"></p> + <p>Copyright © Loïc Hoguin 2012-2018</p> + </div> + </div> + </div> + </footer> + + + <script src="/js/custom.js"></script> + </body> +</html> + + diff --git a/docs/en/gun/1.0/manual/gun_down/index.html b/docs/en/gun/1.0/manual/gun_down/index.html new file mode 100644 index 00000000..ddc7c7e1 --- /dev/null +++ b/docs/en/gun/1.0/manual/gun_down/index.html @@ -0,0 +1,256 @@ +<!DOCTYPE html> +<html lang="en"> + +<head> + <meta charset="utf-8"> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + <meta name="description" content=""> + <meta name="author" content="Loïc Hoguin based on a design from (Soft10) Pol Cámara"> + + <title>Nine Nines: gun_down(3)</title> + + <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic' rel='stylesheet' type='text/css'> + <link href="/css/99s.css?r=1" rel="stylesheet"> + + <link rel="shortcut icon" href="/img/ico/favicon.ico"> + <link rel="apple-touch-icon-precomposed" sizes="114x114" href="/img/ico/apple-touch-icon-114.png"> + <link rel="apple-touch-icon-precomposed" sizes="72x72" href="/img/ico/apple-touch-icon-72.png"> + <link rel="apple-touch-icon-precomposed" href="/img/ico/apple-touch-icon-57.png"> + + +</head> + + +<body class=""> + <header id="page-head"> + <div id="topbar" class="container"> + <div class="row"> + <div class="span2"> + <h1 id="logo"><a href="/" title="99s">99s</a></h1> + </div> + <div class="span10"> + + <div id="side-header"> + <nav> + <ul> + <li><a title="Hear my thoughts" href="/articles">Articles</a></li> + <li><a title="Watch my talks" href="/talks">Talks</a></li> + <li class="active"><a title="Read the docs" href="/docs">Documentation</a></li> + <li><a title="Request my services" href="/services">Consulting & Training</a></li> + </ul> + </nav> + <ul id="social"> + <li> + <a href="https://github.com/ninenines" title="Check my Github repositories"><img src="/img/ico_github.png" data-hover="/img/ico_github_alt.png" alt="Github"></a> + </li> + <li> + <a title="Contact me" href="mailto:[email protected]"><img src="/img/ico_mail.png" data-hover="/img/ico_mail_alt.png"></a> + </li> + </ul> + </div> + </div> + </div> + </div> + + +</header> + +<div id="contents" class="two_col"> +<div class="container"> +<div class="row"> +<div id="docs" class="span9 maincol"> + +<h1 class="lined-header"><span>gun_down(3)</span></h1> + +<div class="sect1"> +<h2 id="_name">Name</h2> +<div class="sectionbody"> +<div class="paragraph"><p>gun_down - The connection is down</p></div> +</div> +</div> +<div class="sect1"> +<h2 id="_description">Description</h2> +<div class="sectionbody"> +<div class="listingblock"> +<div class="content"><!-- Generator: GNU source-highlight +by Lorenzo Bettini +http://www.lorenzobettini.it +http://www.gnu.org/software/src-highlite --> +<pre><tt>{<span style="color: #FF6600">gun_down</span>, <span style="color: #009900">ConnPid</span>, <span style="color: #009900">Protocol</span>, <span style="color: #009900">Reason</span>, <span style="color: #009900">KilledStreams</span>, <span style="color: #009900">UnprocessedStreams</span>} + +<span style="color: #009900">ConnPid</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">pid</span></span>() +<span style="color: #009900">Protocol</span> <span style="color: #990000">::</span> <span style="color: #FF6600">http</span> | <span style="color: #FF6600">http2</span> | <span style="color: #FF6600">ws</span> +<span style="color: #009900">Reason</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">any</span></span>() +<span style="color: #009900">KilledStreams</span> <span style="color: #990000">::</span> [<span style="font-weight: bold"><span style="color: #000080">reference</span></span>()] +<span style="color: #009900">UnprocessedStreams</span> <span style="color: #990000">::</span> [<span style="font-weight: bold"><span style="color: #000080">reference</span></span>()]</tt></pre></div></div> +<div class="paragraph"><p>The connection is down.</p></div> +<div class="paragraph"><p>This message informs the owner process that the connection +was lost. Depending on the <code>retry</code> and <code>retry_timeout</code> +options Gun may automatically attempt to reconnect.</p></div> +<div class="paragraph"><p>When the connection goes back up, Gun will not attempt to retry +requests. It will also not upgrade to Websocket automatically +if that was the protocol in use when the connection was lost.</p></div> +</div> +</div> +<div class="sect1"> +<h2 id="_elements">Elements</h2> +<div class="sectionbody"> +<div class="dlist"><dl> +<dt class="hdlist1"> +ConnPid +</dt> +<dd> +<p> +The pid of the Gun connection process. +</p> +</dd> +<dt class="hdlist1"> +Protocol +</dt> +<dd> +<p> +The protocol that was selected for this connection +or upgraded to during the course of the connection. +</p> +</dd> +<dt class="hdlist1"> +Reason +</dt> +<dd> +<p> +The reason for the loss of the connection. +</p> +<div class="paragraph"><p>It is present for debugging purposes only. You should not +rely on this value to perform operations programmatically.</p></div> +</dd> +<dt class="hdlist1"> +KilledStreams +</dt> +<dd> +<p> +List of streams that have been brutally terminated. +</p> +<div class="paragraph"><p>They are active streams that did not complete before the closing +of the connection. Whether they can be retried safely depends +on the protocol used and the idempotence property of the requests.</p></div> +</dd> +<dt class="hdlist1"> +UnprocessedStreams +</dt> +<dd> +<p> +List of streams that have not been processed by the server. +</p> +<div class="paragraph"><p>They are streams that the server did not start processing yet. +They may be retried safely depending on whether related streams +were killed.</p></div> +</dd> +</dl></div> +</div> +</div> +<div class="sect1"> +<h2 id="_changelog">Changelog</h2> +<div class="sectionbody"> +<div class="ulist"><ul> +<li> +<p> +<strong>1.0</strong>: Message introduced. +</p> +</li> +</ul></div> +</div> +</div> +<div class="sect1"> +<h2 id="_examples">Examples</h2> +<div class="sectionbody"> +<div class="listingblock"> +<div class="title">Receive a gun_down message in a gen_server</div> +<div class="content"><!-- Generator: GNU source-highlight +by Lorenzo Bettini +http://www.lorenzobettini.it +http://www.gnu.org/software/src-highlite --> +<pre><tt><span style="font-weight: bold"><span style="color: #000000">handle_info</span></span>({<span style="color: #FF6600">gun_down</span>, <span style="color: #009900">ConnPid</span>, <span style="color: #009900">_Protocol</span>, + <span style="color: #009900">_Reason</span>, <span style="color: #009900">_Killed</span>, <span style="color: #009900">_Unprocessed</span>}, + <span style="color: #009900">State</span><span style="color: #990000">=</span><span style="color: #008080">#state</span>{<span style="color: #0000FF">conn_pid</span><span style="color: #990000">=</span><span style="color: #009900">ConnPid</span>}) <span style="color: #990000">-></span> + <span style="font-style: italic"><span style="color: #9A1900">%% Do something.</span></span> + {<span style="color: #FF6600">noreply</span>, <span style="color: #009900">State</span>}<span style="color: #990000">.</span></tt></pre></div></div> +</div> +</div> +<div class="sect1"> +<h2 id="_see_also">See also</h2> +<div class="sectionbody"> +<div class="paragraph"><p><a href="../gun">gun(3)</a>, +<a href="../gun.open">gun:open(3)</a>, +<a href="../gun.open_unix">gun:open_unix(3)</a>, +<a href="../gun_up">gun_up(3)</a>, +<a href="../gun_error">gun_error(3)</a></p></div> +</div> +</div> + + + + + +</div> + +<div class="span3 sidecol"> + + +<h3> + Gun + 1.0 + Function Reference + +</h3> + +<ul> + + <li><a href="/docs/en/gun/1.0/guide">User Guide</a></li> + + + <li><a href="/docs/en/gun/1.0/manual">Function Reference</a></li> + + +</ul> + +<h4 id="docs-nav">Navigation</h4> + +<h4>Version select</h4> +<ul> + + + + <li><a href="/docs/en/gun/1.0/manual">1.0</a></li> + +</ul> + +</div> +</div> +</div> +</div> + + <footer> + <div class="container"> + <div class="row"> + <div class="span6"> + <p id="scroll-top"><a href="#">↑ Scroll to top</a></p> + <nav> + <ul> + <li><a href="mailto:[email protected]" title="Contact us">Contact us</a></li><li><a href="https://github.com/ninenines/ninenines.github.io" title="Github repository">Contribute to this site</a></li> + </ul> + </nav> + </div> + <div class="span6 credits"> + <p><img src="/img/footer_logo.png"></p> + <p>Copyright © Loïc Hoguin 2012-2018</p> + </div> + </div> + </div> + </footer> + + + <script src="/js/custom.js"></script> + </body> +</html> + + diff --git a/docs/en/gun/1.0/manual/gun_error/index.html b/docs/en/gun/1.0/manual/gun_error/index.html new file mode 100644 index 00000000..1d8499d3 --- /dev/null +++ b/docs/en/gun/1.0/manual/gun_error/index.html @@ -0,0 +1,232 @@ +<!DOCTYPE html> +<html lang="en"> + +<head> + <meta charset="utf-8"> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + <meta name="description" content=""> + <meta name="author" content="Loïc Hoguin based on a design from (Soft10) Pol Cámara"> + + <title>Nine Nines: gun_error(3)</title> + + <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic' rel='stylesheet' type='text/css'> + <link href="/css/99s.css?r=1" rel="stylesheet"> + + <link rel="shortcut icon" href="/img/ico/favicon.ico"> + <link rel="apple-touch-icon-precomposed" sizes="114x114" href="/img/ico/apple-touch-icon-114.png"> + <link rel="apple-touch-icon-precomposed" sizes="72x72" href="/img/ico/apple-touch-icon-72.png"> + <link rel="apple-touch-icon-precomposed" href="/img/ico/apple-touch-icon-57.png"> + + +</head> + + +<body class=""> + <header id="page-head"> + <div id="topbar" class="container"> + <div class="row"> + <div class="span2"> + <h1 id="logo"><a href="/" title="99s">99s</a></h1> + </div> + <div class="span10"> + + <div id="side-header"> + <nav> + <ul> + <li><a title="Hear my thoughts" href="/articles">Articles</a></li> + <li><a title="Watch my talks" href="/talks">Talks</a></li> + <li class="active"><a title="Read the docs" href="/docs">Documentation</a></li> + <li><a title="Request my services" href="/services">Consulting & Training</a></li> + </ul> + </nav> + <ul id="social"> + <li> + <a href="https://github.com/ninenines" title="Check my Github repositories"><img src="/img/ico_github.png" data-hover="/img/ico_github_alt.png" alt="Github"></a> + </li> + <li> + <a title="Contact me" href="mailto:[email protected]"><img src="/img/ico_mail.png" data-hover="/img/ico_mail_alt.png"></a> + </li> + </ul> + </div> + </div> + </div> + </div> + + +</header> + +<div id="contents" class="two_col"> +<div class="container"> +<div class="row"> +<div id="docs" class="span9 maincol"> + +<h1 class="lined-header"><span>gun_error(3)</span></h1> + +<div class="sect1"> +<h2 id="_name">Name</h2> +<div class="sectionbody"> +<div class="paragraph"><p>gun_error - Stream or connection-wide error</p></div> +</div> +</div> +<div class="sect1"> +<h2 id="_description">Description</h2> +<div class="sectionbody"> +<div class="listingblock"> +<div class="content"><!-- Generator: GNU source-highlight +by Lorenzo Bettini +http://www.lorenzobettini.it +http://www.gnu.org/software/src-highlite --> +<pre><tt>{<span style="color: #FF6600">gun_error</span>, <span style="color: #009900">ConnPid</span>, <span style="color: #009900">StreamRef</span>, <span style="color: #009900">Reason</span>} +{<span style="color: #FF6600">gun_error</span>, <span style="color: #009900">ConnPid</span>, <span style="color: #009900">Reason</span>} + +<span style="color: #009900">ConnPid</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">pid</span></span>() +<span style="color: #009900">StreamRef</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">reference</span></span>() +<span style="color: #009900">Reason</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">any</span></span>()</tt></pre></div></div> +<div class="paragraph"><p>Stream or connection-wide error.</p></div> +<div class="paragraph"><p>These messages inform the relevant process that an error +occurred. A reference is given when the error pertains +to a specific stream. Connection-wide errors do not +imply that the connection is no longer usable, they are +used for all errors that are not specific to a stream.</p></div> +</div> +</div> +<div class="sect1"> +<h2 id="_elements">Elements</h2> +<div class="sectionbody"> +<div class="dlist"><dl> +<dt class="hdlist1"> +ConnPid +</dt> +<dd> +<p> +The pid of the Gun connection process. +</p> +</dd> +<dt class="hdlist1"> +StreamRef +</dt> +<dd> +<p> +Identifier of the stream that resulted in an error. +</p> +</dd> +<dt class="hdlist1"> +Reason +</dt> +<dd> +<p> +The reason for the error. +</p> +<div class="paragraph"><p>It is present for debugging purposes only. You should not +rely on this value to perform operations programmatically.</p></div> +</dd> +</dl></div> +</div> +</div> +<div class="sect1"> +<h2 id="_changelog">Changelog</h2> +<div class="sectionbody"> +<div class="ulist"><ul> +<li> +<p> +<strong>1.0</strong>: Message introduced. +</p> +</li> +</ul></div> +</div> +</div> +<div class="sect1"> +<h2 id="_examples">Examples</h2> +<div class="sectionbody"> +<div class="listingblock"> +<div class="title">Receive a gun_error message in a gen_server</div> +<div class="content"><!-- Generator: GNU source-highlight +by Lorenzo Bettini +http://www.lorenzobettini.it +http://www.gnu.org/software/src-highlite --> +<pre><tt><span style="font-weight: bold"><span style="color: #000000">handle_info</span></span>({<span style="color: #FF6600">gun_error</span>, <span style="color: #009900">ConnPid</span>, <span style="color: #009900">_Reason</span>}, + <span style="color: #009900">State</span><span style="color: #990000">=</span><span style="color: #008080">#state</span>{<span style="color: #0000FF">conn_pid</span><span style="color: #990000">=</span><span style="color: #009900">ConnPid</span>}) <span style="color: #990000">-></span> + <span style="font-style: italic"><span style="color: #9A1900">%% Do something.</span></span> + {<span style="color: #FF6600">noreply</span>, <span style="color: #009900">State</span>}; +<span style="font-weight: bold"><span style="color: #000000">handle_info</span></span>({<span style="color: #FF6600">gun_error</span>, <span style="color: #009900">ConnPid</span>, <span style="color: #009900">_StreamRef</span>, <span style="color: #009900">_Reason</span>}, + <span style="color: #009900">State</span><span style="color: #990000">=</span><span style="color: #008080">#state</span>{<span style="color: #0000FF">conn_pid</span><span style="color: #990000">=</span><span style="color: #009900">ConnPid</span>}) <span style="color: #990000">-></span> + <span style="font-style: italic"><span style="color: #9A1900">%% Do something.</span></span> + {<span style="color: #FF6600">noreply</span>, <span style="color: #009900">State</span>}<span style="color: #990000">.</span></tt></pre></div></div> +</div> +</div> +<div class="sect1"> +<h2 id="_see_also">See also</h2> +<div class="sectionbody"> +<div class="paragraph"><p><a href="../gun">gun(3)</a>, +<a href="../gun_up">gun_up(3)</a>, +<a href="../gun_down">gun_down(3)</a></p></div> +</div> +</div> + + + + + +</div> + +<div class="span3 sidecol"> + + +<h3> + Gun + 1.0 + Function Reference + +</h3> + +<ul> + + <li><a href="/docs/en/gun/1.0/guide">User Guide</a></li> + + + <li><a href="/docs/en/gun/1.0/manual">Function Reference</a></li> + + +</ul> + +<h4 id="docs-nav">Navigation</h4> + +<h4>Version select</h4> +<ul> + + + + <li><a href="/docs/en/gun/1.0/manual">1.0</a></li> + +</ul> + +</div> +</div> +</div> +</div> + + <footer> + <div class="container"> + <div class="row"> + <div class="span6"> + <p id="scroll-top"><a href="#">↑ Scroll to top</a></p> + <nav> + <ul> + <li><a href="mailto:[email protected]" title="Contact us">Contact us</a></li><li><a href="https://github.com/ninenines/ninenines.github.io" title="Github repository">Contribute to this site</a></li> + </ul> + </nav> + </div> + <div class="span6 credits"> + <p><img src="/img/footer_logo.png"></p> + <p>Copyright © Loïc Hoguin 2012-2018</p> + </div> + </div> + </div> + </footer> + + + <script src="/js/custom.js"></script> + </body> +</html> + + diff --git a/docs/en/gun/1.0/manual/gun_inform/index.html b/docs/en/gun/1.0/manual/gun_inform/index.html new file mode 100644 index 00000000..7f04b59b --- /dev/null +++ b/docs/en/gun/1.0/manual/gun_inform/index.html @@ -0,0 +1,239 @@ +<!DOCTYPE html> +<html lang="en"> + +<head> + <meta charset="utf-8"> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + <meta name="description" content=""> + <meta name="author" content="Loïc Hoguin based on a design from (Soft10) Pol Cámara"> + + <title>Nine Nines: gun_inform(3)</title> + + <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic' rel='stylesheet' type='text/css'> + <link href="/css/99s.css?r=1" rel="stylesheet"> + + <link rel="shortcut icon" href="/img/ico/favicon.ico"> + <link rel="apple-touch-icon-precomposed" sizes="114x114" href="/img/ico/apple-touch-icon-114.png"> + <link rel="apple-touch-icon-precomposed" sizes="72x72" href="/img/ico/apple-touch-icon-72.png"> + <link rel="apple-touch-icon-precomposed" href="/img/ico/apple-touch-icon-57.png"> + + +</head> + + +<body class=""> + <header id="page-head"> + <div id="topbar" class="container"> + <div class="row"> + <div class="span2"> + <h1 id="logo"><a href="/" title="99s">99s</a></h1> + </div> + <div class="span10"> + + <div id="side-header"> + <nav> + <ul> + <li><a title="Hear my thoughts" href="/articles">Articles</a></li> + <li><a title="Watch my talks" href="/talks">Talks</a></li> + <li class="active"><a title="Read the docs" href="/docs">Documentation</a></li> + <li><a title="Request my services" href="/services">Consulting & Training</a></li> + </ul> + </nav> + <ul id="social"> + <li> + <a href="https://github.com/ninenines" title="Check my Github repositories"><img src="/img/ico_github.png" data-hover="/img/ico_github_alt.png" alt="Github"></a> + </li> + <li> + <a title="Contact me" href="mailto:[email protected]"><img src="/img/ico_mail.png" data-hover="/img/ico_mail_alt.png"></a> + </li> + </ul> + </div> + </div> + </div> + </div> + + +</header> + +<div id="contents" class="two_col"> +<div class="container"> +<div class="row"> +<div id="docs" class="span9 maincol"> + +<h1 class="lined-header"><span>gun_inform(3)</span></h1> + +<div class="sect1"> +<h2 id="_name">Name</h2> +<div class="sectionbody"> +<div class="paragraph"><p>gun_inform - Informational response</p></div> +</div> +</div> +<div class="sect1"> +<h2 id="_description">Description</h2> +<div class="sectionbody"> +<div class="listingblock"> +<div class="content"><!-- Generator: GNU source-highlight +by Lorenzo Bettini +http://www.lorenzobettini.it +http://www.gnu.org/software/src-highlite --> +<pre><tt>{<span style="color: #FF6600">gun_inform</span>, <span style="color: #009900">ConnPid</span>, <span style="color: #009900">StreamRef</span>, <span style="color: #009900">Status</span>, <span style="color: #009900">Headers</span>} + +<span style="color: #009900">ConnPid</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">pid</span></span>() +<span style="color: #009900">StreamRef</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">reference</span></span>() +<span style="color: #009900">Status</span> <span style="color: #990000">::</span> <span style="color: #993399">100</span><span style="color: #990000">..</span><span style="color: #993399">199</span> +<span style="color: #009900">Headers</span> <span style="color: #990000">::</span> [{<span style="font-weight: bold"><span style="color: #000080">binary</span></span>(), <span style="font-weight: bold"><span style="color: #000080">binary</span></span>()}]</tt></pre></div></div> +<div class="paragraph"><p>Informational response.</p></div> +<div class="paragraph"><p>This message informs the relevant process that the server +sent an informational response to the original request.</p></div> +<div class="paragraph"><p>Informational responses are only intermediate responses +and provide no guarantees as to what the final response +will be. An informational response always precedes the +response to the original request.</p></div> +</div> +</div> +<div class="sect1"> +<h2 id="_elements">Elements</h2> +<div class="sectionbody"> +<div class="dlist"><dl> +<dt class="hdlist1"> +ConnPid +</dt> +<dd> +<p> +The pid of the Gun connection process. +</p> +</dd> +<dt class="hdlist1"> +StreamRef +</dt> +<dd> +<p> +Identifier of the stream for the original request. +</p> +</dd> +<dt class="hdlist1"> +Status +</dt> +<dd> +<p> +Status code for the informational response. +</p> +</dd> +<dt class="hdlist1"> +Headers +</dt> +<dd> +<p> +Headers sent with the informational response. +</p> +</dd> +</dl></div> +</div> +</div> +<div class="sect1"> +<h2 id="_changelog">Changelog</h2> +<div class="sectionbody"> +<div class="ulist"><ul> +<li> +<p> +<strong>1.0</strong>: Message introduced. +</p> +</li> +</ul></div> +</div> +</div> +<div class="sect1"> +<h2 id="_examples">Examples</h2> +<div class="sectionbody"> +<div class="listingblock"> +<div class="title">Receive a gun_inform message in a gen_server</div> +<div class="content"><!-- Generator: GNU source-highlight +by Lorenzo Bettini +http://www.lorenzobettini.it +http://www.gnu.org/software/src-highlite --> +<pre><tt><span style="font-weight: bold"><span style="color: #000000">handle_info</span></span>({<span style="color: #FF6600">gun_inform</span>, <span style="color: #009900">ConnPid</span>, <span style="color: #009900">_StreamRef</span>, + <span style="color: #009900">_Status</span>, <span style="color: #009900">_Headers</span>}, + <span style="color: #009900">State</span><span style="color: #990000">=</span><span style="color: #008080">#state</span>{<span style="color: #0000FF">conn_pid</span><span style="color: #990000">=</span><span style="color: #009900">ConnPid</span>}) <span style="color: #990000">-></span> + <span style="font-style: italic"><span style="color: #9A1900">%% Do something.</span></span> + {<span style="color: #FF6600">noreply</span>, <span style="color: #009900">State</span>}<span style="color: #990000">.</span></tt></pre></div></div> +</div> +</div> +<div class="sect1"> +<h2 id="_see_also">See also</h2> +<div class="sectionbody"> +<div class="paragraph"><p><a href="../gun">gun(3)</a>, +<a href="../gun.get">gun:get(3)</a>, +<a href="../gun.patch">gun:patch(3)</a>, +<a href="../gun.post">gun:post(3)</a>, +<a href="../gun.put">gun:put(3)</a>, +<a href="../gun_response">gun_response(3)</a></p></div> +</div> +</div> + + + + + +</div> + +<div class="span3 sidecol"> + + +<h3> + Gun + 1.0 + Function Reference + +</h3> + +<ul> + + <li><a href="/docs/en/gun/1.0/guide">User Guide</a></li> + + + <li><a href="/docs/en/gun/1.0/manual">Function Reference</a></li> + + +</ul> + +<h4 id="docs-nav">Navigation</h4> + +<h4>Version select</h4> +<ul> + + + + <li><a href="/docs/en/gun/1.0/manual">1.0</a></li> + +</ul> + +</div> +</div> +</div> +</div> + + <footer> + <div class="container"> + <div class="row"> + <div class="span6"> + <p id="scroll-top"><a href="#">↑ Scroll to top</a></p> + <nav> + <ul> + <li><a href="mailto:[email protected]" title="Contact us">Contact us</a></li><li><a href="https://github.com/ninenines/ninenines.github.io" title="Github repository">Contribute to this site</a></li> + </ul> + </nav> + </div> + <div class="span6 credits"> + <p><img src="/img/footer_logo.png"></p> + <p>Copyright © Loïc Hoguin 2012-2018</p> + </div> + </div> + </div> + </footer> + + + <script src="/js/custom.js"></script> + </body> +</html> + + diff --git a/docs/en/gun/1.0/manual/gun_push/index.html b/docs/en/gun/1.0/manual/gun_push/index.html new file mode 100644 index 00000000..86229224 --- /dev/null +++ b/docs/en/gun/1.0/manual/gun_push/index.html @@ -0,0 +1,267 @@ +<!DOCTYPE html> +<html lang="en"> + +<head> + <meta charset="utf-8"> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + <meta name="description" content=""> + <meta name="author" content="Loïc Hoguin based on a design from (Soft10) Pol Cámara"> + + <title>Nine Nines: gun_push(3)</title> + + <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic' rel='stylesheet' type='text/css'> + <link href="/css/99s.css?r=1" rel="stylesheet"> + + <link rel="shortcut icon" href="/img/ico/favicon.ico"> + <link rel="apple-touch-icon-precomposed" sizes="114x114" href="/img/ico/apple-touch-icon-114.png"> + <link rel="apple-touch-icon-precomposed" sizes="72x72" href="/img/ico/apple-touch-icon-72.png"> + <link rel="apple-touch-icon-precomposed" href="/img/ico/apple-touch-icon-57.png"> + + +</head> + + +<body class=""> + <header id="page-head"> + <div id="topbar" class="container"> + <div class="row"> + <div class="span2"> + <h1 id="logo"><a href="/" title="99s">99s</a></h1> + </div> + <div class="span10"> + + <div id="side-header"> + <nav> + <ul> + <li><a title="Hear my thoughts" href="/articles">Articles</a></li> + <li><a title="Watch my talks" href="/talks">Talks</a></li> + <li class="active"><a title="Read the docs" href="/docs">Documentation</a></li> + <li><a title="Request my services" href="/services">Consulting & Training</a></li> + </ul> + </nav> + <ul id="social"> + <li> + <a href="https://github.com/ninenines" title="Check my Github repositories"><img src="/img/ico_github.png" data-hover="/img/ico_github_alt.png" alt="Github"></a> + </li> + <li> + <a title="Contact me" href="mailto:[email protected]"><img src="/img/ico_mail.png" data-hover="/img/ico_mail_alt.png"></a> + </li> + </ul> + </div> + </div> + </div> + </div> + + +</header> + +<div id="contents" class="two_col"> +<div class="container"> +<div class="row"> +<div id="docs" class="span9 maincol"> + +<h1 class="lined-header"><span>gun_push(3)</span></h1> + +<div class="sect1"> +<h2 id="_name">Name</h2> +<div class="sectionbody"> +<div class="paragraph"><p>gun_push - Server-initiated push</p></div> +</div> +</div> +<div class="sect1"> +<h2 id="_description">Description</h2> +<div class="sectionbody"> +<div class="listingblock"> +<div class="content"><!-- Generator: GNU source-highlight +by Lorenzo Bettini +http://www.lorenzobettini.it +http://www.gnu.org/software/src-highlite --> +<pre><tt>{<span style="color: #FF6600">gun_push</span>, <span style="color: #009900">ConnPid</span>, <span style="color: #009900">StreamRef</span>, <span style="color: #009900">NewStreamRef</span>, <span style="color: #009900">Method</span>, <span style="color: #009900">URI</span>, <span style="color: #009900">Headers</span>} + +<span style="color: #009900">ConnPid</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">pid</span></span>() +<span style="color: #009900">StreamRef</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">reference</span></span>() +<span style="color: #009900">NewStreamRef</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">reference</span></span>() +<span style="color: #009900">Method</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">binary</span></span>() +<span style="color: #009900">URI</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">binary</span></span>() +<span style="color: #009900">Headers</span> <span style="color: #990000">::</span> [{<span style="font-weight: bold"><span style="color: #000080">binary</span></span>(), <span style="font-weight: bold"><span style="color: #000080">binary</span></span>()}]</tt></pre></div></div> +<div class="paragraph"><p>Server-initiated push.</p></div> +<div class="paragraph"><p>This message informs the relevant process that the server +is pushing a resource related to the effective target URI +of the original request.</p></div> +<div class="paragraph"><p>A server-initiated push message always precedes the response +to the original request.</p></div> +<div class="paragraph"><p>This message will not be sent when using the HTTP/1.1 protocol +because it lacks the concept of server-initiated push.</p></div> +</div> +</div> +<div class="sect1"> +<h2 id="_elements">Elements</h2> +<div class="sectionbody"> +<div class="dlist"><dl> +<dt class="hdlist1"> +ConnPid +</dt> +<dd> +<p> +The pid of the Gun connection process. +</p> +</dd> +<dt class="hdlist1"> +StreamRef +</dt> +<dd> +<p> +Identifier of the stream for the original request. +</p> +</dd> +<dt class="hdlist1"> +NewStreamRef +</dt> +<dd> +<p> +Identifier of the stream being pushed. +</p> +</dd> +<dt class="hdlist1"> +Method +</dt> +<dd> +<p> +Method of the equivalent HTTP request. +</p> +</dd> +<dt class="hdlist1"> +URI +</dt> +<dd> +<p> +URI of the resource being pushed. +</p> +</dd> +<dt class="hdlist1"> +Headers +</dt> +<dd> +<p> +Headers of the equivalent HTTP request. +</p> +</dd> +</dl></div> +</div> +</div> +<div class="sect1"> +<h2 id="_changelog">Changelog</h2> +<div class="sectionbody"> +<div class="ulist"><ul> +<li> +<p> +<strong>1.0</strong>: Message introduced. +</p> +</li> +</ul></div> +</div> +</div> +<div class="sect1"> +<h2 id="_examples">Examples</h2> +<div class="sectionbody"> +<div class="listingblock"> +<div class="title">Receive a gun_push message in a gen_server</div> +<div class="content"><!-- Generator: GNU source-highlight +by Lorenzo Bettini +http://www.lorenzobettini.it +http://www.gnu.org/software/src-highlite --> +<pre><tt><span style="font-weight: bold"><span style="color: #000000">handle_info</span></span>({<span style="color: #FF6600">gun_push</span>, <span style="color: #009900">ConnPid</span>, <span style="color: #009900">_StreamRef</span>, + <span style="color: #009900">_NewStreamRef</span>, <span style="color: #009900">_Method</span>, <span style="color: #009900">_URI</span>, <span style="color: #009900">_Headers</span>}, + <span style="color: #009900">State</span><span style="color: #990000">=</span><span style="color: #008080">#state</span>{<span style="color: #0000FF">conn_pid</span><span style="color: #990000">=</span><span style="color: #009900">ConnPid</span>}) <span style="color: #990000">-></span> + <span style="font-style: italic"><span style="color: #9A1900">%% Do something.</span></span> + {<span style="color: #FF6600">noreply</span>, <span style="color: #009900">State</span>}<span style="color: #990000">.</span></tt></pre></div></div> +<div class="listingblock"> +<div class="title">Cancel an unwanted push</div> +<div class="content"><!-- Generator: GNU source-highlight +by Lorenzo Bettini +http://www.lorenzobettini.it +http://www.gnu.org/software/src-highlite --> +<pre><tt><span style="font-weight: bold"><span style="color: #000000">handle_info</span></span>({<span style="color: #FF6600">gun_push</span>, <span style="color: #009900">ConnPid</span>, <span style="color: #009900">_StreamRef</span>, + <span style="color: #009900">NewStreamRef</span>, <span style="color: #009900">_Method</span>, <span style="color: #009900">_URI</span>, <span style="color: #009900">_Headers</span>}, + <span style="color: #009900">State</span><span style="color: #990000">=</span><span style="color: #008080">#state</span>{<span style="color: #0000FF">conn_pid</span><span style="color: #990000">=</span><span style="color: #009900">ConnPid</span>}) <span style="color: #990000">-></span> + <span style="font-weight: bold"><span style="color: #000000">gun:cancel</span></span>(<span style="color: #009900">ConnPid</span>, <span style="color: #009900">NewStreamRef</span>), + {<span style="color: #FF6600">noreply</span>, <span style="color: #009900">State</span>}<span style="color: #990000">.</span></tt></pre></div></div> +</div> +</div> +<div class="sect1"> +<h2 id="_see_also">See also</h2> +<div class="sectionbody"> +<div class="paragraph"><p><a href="../gun">gun(3)</a>, +<a href="../gun.get">gun:get(3)</a>, +<a href="../gun.cancel">gun:cancel(3)</a>, +<a href="../gun_response">gun_response(3)</a></p></div> +</div> +</div> + + + + + +</div> + +<div class="span3 sidecol"> + + +<h3> + Gun + 1.0 + Function Reference + +</h3> + +<ul> + + <li><a href="/docs/en/gun/1.0/guide">User Guide</a></li> + + + <li><a href="/docs/en/gun/1.0/manual">Function Reference</a></li> + + +</ul> + +<h4 id="docs-nav">Navigation</h4> + +<h4>Version select</h4> +<ul> + + + + <li><a href="/docs/en/gun/1.0/manual">1.0</a></li> + +</ul> + +</div> +</div> +</div> +</div> + + <footer> + <div class="container"> + <div class="row"> + <div class="span6"> + <p id="scroll-top"><a href="#">↑ Scroll to top</a></p> + <nav> + <ul> + <li><a href="mailto:[email protected]" title="Contact us">Contact us</a></li><li><a href="https://github.com/ninenines/ninenines.github.io" title="Github repository">Contribute to this site</a></li> + </ul> + </nav> + </div> + <div class="span6 credits"> + <p><img src="/img/footer_logo.png"></p> + <p>Copyright © Loïc Hoguin 2012-2018</p> + </div> + </div> + </div> + </footer> + + + <script src="/js/custom.js"></script> + </body> +</html> + + diff --git a/docs/en/gun/1.0/manual/gun_response/index.html b/docs/en/gun/1.0/manual/gun_response/index.html new file mode 100644 index 00000000..379142ba --- /dev/null +++ b/docs/en/gun/1.0/manual/gun_response/index.html @@ -0,0 +1,249 @@ +<!DOCTYPE html> +<html lang="en"> + +<head> + <meta charset="utf-8"> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + <meta name="description" content=""> + <meta name="author" content="Loïc Hoguin based on a design from (Soft10) Pol Cámara"> + + <title>Nine Nines: gun_response(3)</title> + + <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic' rel='stylesheet' type='text/css'> + <link href="/css/99s.css?r=1" rel="stylesheet"> + + <link rel="shortcut icon" href="/img/ico/favicon.ico"> + <link rel="apple-touch-icon-precomposed" sizes="114x114" href="/img/ico/apple-touch-icon-114.png"> + <link rel="apple-touch-icon-precomposed" sizes="72x72" href="/img/ico/apple-touch-icon-72.png"> + <link rel="apple-touch-icon-precomposed" href="/img/ico/apple-touch-icon-57.png"> + + +</head> + + +<body class=""> + <header id="page-head"> + <div id="topbar" class="container"> + <div class="row"> + <div class="span2"> + <h1 id="logo"><a href="/" title="99s">99s</a></h1> + </div> + <div class="span10"> + + <div id="side-header"> + <nav> + <ul> + <li><a title="Hear my thoughts" href="/articles">Articles</a></li> + <li><a title="Watch my talks" href="/talks">Talks</a></li> + <li class="active"><a title="Read the docs" href="/docs">Documentation</a></li> + <li><a title="Request my services" href="/services">Consulting & Training</a></li> + </ul> + </nav> + <ul id="social"> + <li> + <a href="https://github.com/ninenines" title="Check my Github repositories"><img src="/img/ico_github.png" data-hover="/img/ico_github_alt.png" alt="Github"></a> + </li> + <li> + <a title="Contact me" href="mailto:[email protected]"><img src="/img/ico_mail.png" data-hover="/img/ico_mail_alt.png"></a> + </li> + </ul> + </div> + </div> + </div> + </div> + + +</header> + +<div id="contents" class="two_col"> +<div class="container"> +<div class="row"> +<div id="docs" class="span9 maincol"> + +<h1 class="lined-header"><span>gun_response(3)</span></h1> + +<div class="sect1"> +<h2 id="_name">Name</h2> +<div class="sectionbody"> +<div class="paragraph"><p>gun_response - Response</p></div> +</div> +</div> +<div class="sect1"> +<h2 id="_description">Description</h2> +<div class="sectionbody"> +<div class="listingblock"> +<div class="content"><!-- Generator: GNU source-highlight +by Lorenzo Bettini +http://www.lorenzobettini.it +http://www.gnu.org/software/src-highlite --> +<pre><tt>{<span style="color: #FF6600">gun_response</span>, <span style="color: #009900">ConnPid</span>, <span style="color: #009900">StreamRef</span>, <span style="color: #009900">IsFin</span>, <span style="color: #009900">Status</span>, <span style="color: #009900">Headers</span>} + +<span style="color: #009900">ConnPid</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">pid</span></span>() +<span style="color: #009900">StreamRef</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">reference</span></span>() +<span style="color: #009900">IsFin</span> <span style="color: #990000">::</span> <span style="color: #FF6600">fin</span> | <span style="color: #FF6600">nofin</span> +<span style="color: #009900">Status</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000000">non_neg_integer</span></span>() +<span style="color: #009900">Headers</span> <span style="color: #990000">::</span> [{<span style="font-weight: bold"><span style="color: #000080">binary</span></span>(), <span style="font-weight: bold"><span style="color: #000080">binary</span></span>()}]</tt></pre></div></div> +<div class="paragraph"><p>Response.</p></div> +<div class="paragraph"><p>This message informs the relevant process that the server +sent a response to the original request.</p></div> +</div> +</div> +<div class="sect1"> +<h2 id="_elements">Elements</h2> +<div class="sectionbody"> +<div class="dlist"><dl> +<dt class="hdlist1"> +ConnPid +</dt> +<dd> +<p> +The pid of the Gun connection process. +</p> +</dd> +<dt class="hdlist1"> +StreamRef +</dt> +<dd> +<p> +Identifier of the stream for the original request. +</p> +</dd> +<dt class="hdlist1"> +IsFin +</dt> +<dd> +<p> +Whether this message terminates the response. +</p> +</dd> +<dt class="hdlist1"> +Status +</dt> +<dd> +<p> +Status code for the response. +</p> +</dd> +<dt class="hdlist1"> +Headers +</dt> +<dd> +<p> +Headers sent with the response. +</p> +</dd> +</dl></div> +</div> +</div> +<div class="sect1"> +<h2 id="_changelog">Changelog</h2> +<div class="sectionbody"> +<div class="ulist"><ul> +<li> +<p> +<strong>1.0</strong>: Message introduced. +</p> +</li> +</ul></div> +</div> +</div> +<div class="sect1"> +<h2 id="_examples">Examples</h2> +<div class="sectionbody"> +<div class="listingblock"> +<div class="title">Receive a gun_response message in a gen_server</div> +<div class="content"><!-- Generator: GNU source-highlight +by Lorenzo Bettini +http://www.lorenzobettini.it +http://www.gnu.org/software/src-highlite --> +<pre><tt><span style="font-weight: bold"><span style="color: #000000">handle_info</span></span>({<span style="color: #FF6600">gun_response</span>, <span style="color: #009900">ConnPid</span>, <span style="color: #009900">_StreamRef</span>, + <span style="color: #009900">_IsFin</span>, <span style="color: #009900">_Status</span>, <span style="color: #009900">_Headers</span>}, + <span style="color: #009900">State</span><span style="color: #990000">=</span><span style="color: #008080">#state</span>{<span style="color: #0000FF">conn_pid</span><span style="color: #990000">=</span><span style="color: #009900">ConnPid</span>}) <span style="color: #990000">-></span> + <span style="font-style: italic"><span style="color: #9A1900">%% Do something.</span></span> + {<span style="color: #FF6600">noreply</span>, <span style="color: #009900">State</span>}<span style="color: #990000">.</span></tt></pre></div></div> +</div> +</div> +<div class="sect1"> +<h2 id="_see_also">See also</h2> +<div class="sectionbody"> +<div class="paragraph"><p><a href="../gun">gun(3)</a>, +<a href="../gun.get">gun:get(3)</a>, +<a href="../gun.head">gun:head(3)</a>, +<a href="../gun.patch">gun:patch(3)</a>, +<a href="../gun.post">gun:post(3)</a>, +<a href="../gun.put">gun:put(3)</a>, +<a href="../gun.delete">gun:delete(3)</a>, +<a href="../gun.options">gun:options(3)</a>, +<a href="../gun.request">gun:request(3)</a>, +<a href="../gun_inform">gun_inform(3)</a>, +<a href="../gun_push">gun_push(3)</a></p></div> +</div> +</div> + + + + + +</div> + +<div class="span3 sidecol"> + + +<h3> + Gun + 1.0 + Function Reference + +</h3> + +<ul> + + <li><a href="/docs/en/gun/1.0/guide">User Guide</a></li> + + + <li><a href="/docs/en/gun/1.0/manual">Function Reference</a></li> + + +</ul> + +<h4 id="docs-nav">Navigation</h4> + +<h4>Version select</h4> +<ul> + + + + <li><a href="/docs/en/gun/1.0/manual">1.0</a></li> + +</ul> + +</div> +</div> +</div> +</div> + + <footer> + <div class="container"> + <div class="row"> + <div class="span6"> + <p id="scroll-top"><a href="#">↑ Scroll to top</a></p> + <nav> + <ul> + <li><a href="mailto:[email protected]" title="Contact us">Contact us</a></li><li><a href="https://github.com/ninenines/ninenines.github.io" title="Github repository">Contribute to this site</a></li> + </ul> + </nav> + </div> + <div class="span6 credits"> + <p><img src="/img/footer_logo.png"></p> + <p>Copyright © Loïc Hoguin 2012-2018</p> + </div> + </div> + </div> + </footer> + + + <script src="/js/custom.js"></script> + </body> +</html> + + diff --git a/docs/en/gun/1.0/manual/gun_trailers/index.html b/docs/en/gun/1.0/manual/gun_trailers/index.html new file mode 100644 index 00000000..e67b0afb --- /dev/null +++ b/docs/en/gun/1.0/manual/gun_trailers/index.html @@ -0,0 +1,232 @@ +<!DOCTYPE html> +<html lang="en"> + +<head> + <meta charset="utf-8"> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + <meta name="description" content=""> + <meta name="author" content="Loïc Hoguin based on a design from (Soft10) Pol Cámara"> + + <title>Nine Nines: gun_trailers(3)</title> + + <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic' rel='stylesheet' type='text/css'> + <link href="/css/99s.css?r=1" rel="stylesheet"> + + <link rel="shortcut icon" href="/img/ico/favicon.ico"> + <link rel="apple-touch-icon-precomposed" sizes="114x114" href="/img/ico/apple-touch-icon-114.png"> + <link rel="apple-touch-icon-precomposed" sizes="72x72" href="/img/ico/apple-touch-icon-72.png"> + <link rel="apple-touch-icon-precomposed" href="/img/ico/apple-touch-icon-57.png"> + + +</head> + + +<body class=""> + <header id="page-head"> + <div id="topbar" class="container"> + <div class="row"> + <div class="span2"> + <h1 id="logo"><a href="/" title="99s">99s</a></h1> + </div> + <div class="span10"> + + <div id="side-header"> + <nav> + <ul> + <li><a title="Hear my thoughts" href="/articles">Articles</a></li> + <li><a title="Watch my talks" href="/talks">Talks</a></li> + <li class="active"><a title="Read the docs" href="/docs">Documentation</a></li> + <li><a title="Request my services" href="/services">Consulting & Training</a></li> + </ul> + </nav> + <ul id="social"> + <li> + <a href="https://github.com/ninenines" title="Check my Github repositories"><img src="/img/ico_github.png" data-hover="/img/ico_github_alt.png" alt="Github"></a> + </li> + <li> + <a title="Contact me" href="mailto:[email protected]"><img src="/img/ico_mail.png" data-hover="/img/ico_mail_alt.png"></a> + </li> + </ul> + </div> + </div> + </div> + </div> + + +</header> + +<div id="contents" class="two_col"> +<div class="container"> +<div class="row"> +<div id="docs" class="span9 maincol"> + +<h1 class="lined-header"><span>gun_trailers(3)</span></h1> + +<div class="sect1"> +<h2 id="_name">Name</h2> +<div class="sectionbody"> +<div class="paragraph"><p>gun_trailers - Response trailers</p></div> +</div> +</div> +<div class="sect1"> +<h2 id="_description">Description</h2> +<div class="sectionbody"> +<div class="listingblock"> +<div class="content"><!-- Generator: GNU source-highlight +by Lorenzo Bettini +http://www.lorenzobettini.it +http://www.gnu.org/software/src-highlite --> +<pre><tt>{<span style="color: #FF6600">gun_trailers</span>, <span style="color: #009900">ConnPid</span>, <span style="color: #009900">StreamRef</span>, <span style="color: #009900">Headers</span>} + +<span style="color: #009900">ConnPid</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">pid</span></span>() +<span style="color: #009900">StreamRef</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">reference</span></span>() +<span style="color: #009900">Headers</span> <span style="color: #990000">::</span> [{<span style="font-weight: bold"><span style="color: #000080">binary</span></span>(), <span style="font-weight: bold"><span style="color: #000080">binary</span></span>()}]</tt></pre></div></div> +<div class="paragraph"><p>Response trailers.</p></div> +<div class="paragraph"><p>This message informs the relevant process that the server +sent response trailers for the response to the original +request.</p></div> +<div class="paragraph"><p>A trailers message terminates the response.</p></div> +</div> +</div> +<div class="sect1"> +<h2 id="_elements">Elements</h2> +<div class="sectionbody"> +<div class="dlist"><dl> +<dt class="hdlist1"> +ConnPid +</dt> +<dd> +<p> +The pid of the Gun connection process. +</p> +</dd> +<dt class="hdlist1"> +StreamRef +</dt> +<dd> +<p> +Identifier of the stream for the original request. +</p> +</dd> +<dt class="hdlist1"> +Headers +</dt> +<dd> +<p> +Trailing headers sent after the response body. +</p> +</dd> +</dl></div> +</div> +</div> +<div class="sect1"> +<h2 id="_changelog">Changelog</h2> +<div class="sectionbody"> +<div class="ulist"><ul> +<li> +<p> +<strong>1.0</strong>: Message introduced. +</p> +</li> +</ul></div> +</div> +</div> +<div class="sect1"> +<h2 id="_examples">Examples</h2> +<div class="sectionbody"> +<div class="listingblock"> +<div class="title">Receive a gun_trailers message in a gen_server</div> +<div class="content"><!-- Generator: GNU source-highlight +by Lorenzo Bettini +http://www.lorenzobettini.it +http://www.gnu.org/software/src-highlite --> +<pre><tt><span style="font-weight: bold"><span style="color: #000000">handle_info</span></span>({<span style="color: #FF6600">gun_trailers</span>, <span style="color: #009900">ConnPid</span>, <span style="color: #009900">_StreamRef</span>, <span style="color: #009900">_Headers</span>}, + <span style="color: #009900">State</span><span style="color: #990000">=</span><span style="color: #008080">#state</span>{<span style="color: #0000FF">conn_pid</span><span style="color: #990000">=</span><span style="color: #009900">ConnPid</span>}) <span style="color: #990000">-></span> + <span style="font-style: italic"><span style="color: #9A1900">%% Do something.</span></span> + {<span style="color: #FF6600">noreply</span>, <span style="color: #009900">State</span>}<span style="color: #990000">.</span></tt></pre></div></div> +</div> +</div> +<div class="sect1"> +<h2 id="_see_also">See also</h2> +<div class="sectionbody"> +<div class="paragraph"><p><a href="../gun">gun(3)</a>, +<a href="../gun.get">gun:get(3)</a>, +<a href="../gun.head">gun:head(3)</a>, +<a href="../gun.patch">gun:patch(3)</a>, +<a href="../gun.post">gun:post(3)</a>, +<a href="../gun.put">gun:put(3)</a>, +<a href="../gun.delete">gun:delete(3)</a>, +<a href="../gun.options">gun:options(3)</a>, +<a href="../gun.request">gun:request(3)</a>, +<a href="../gun_response">gun_response(3)</a>, +<a href="../gun_data">gun_data(3)</a></p></div> +</div> +</div> + + + + + +</div> + +<div class="span3 sidecol"> + + +<h3> + Gun + 1.0 + Function Reference + +</h3> + +<ul> + + <li><a href="/docs/en/gun/1.0/guide">User Guide</a></li> + + + <li><a href="/docs/en/gun/1.0/manual">Function Reference</a></li> + + +</ul> + +<h4 id="docs-nav">Navigation</h4> + +<h4>Version select</h4> +<ul> + + + + <li><a href="/docs/en/gun/1.0/manual">1.0</a></li> + +</ul> + +</div> +</div> +</div> +</div> + + <footer> + <div class="container"> + <div class="row"> + <div class="span6"> + <p id="scroll-top"><a href="#">↑ Scroll to top</a></p> + <nav> + <ul> + <li><a href="mailto:[email protected]" title="Contact us">Contact us</a></li><li><a href="https://github.com/ninenines/ninenines.github.io" title="Github repository">Contribute to this site</a></li> + </ul> + </nav> + </div> + <div class="span6 credits"> + <p><img src="/img/footer_logo.png"></p> + <p>Copyright © Loïc Hoguin 2012-2018</p> + </div> + </div> + </div> + </footer> + + + <script src="/js/custom.js"></script> + </body> +</html> + + diff --git a/docs/en/gun/1.0/manual/gun_up/index.html b/docs/en/gun/1.0/manual/gun_up/index.html new file mode 100644 index 00000000..ea61a339 --- /dev/null +++ b/docs/en/gun/1.0/manual/gun_up/index.html @@ -0,0 +1,222 @@ +<!DOCTYPE html> +<html lang="en"> + +<head> + <meta charset="utf-8"> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + <meta name="description" content=""> + <meta name="author" content="Loïc Hoguin based on a design from (Soft10) Pol Cámara"> + + <title>Nine Nines: gun_up(3)</title> + + <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic' rel='stylesheet' type='text/css'> + <link href="/css/99s.css?r=1" rel="stylesheet"> + + <link rel="shortcut icon" href="/img/ico/favicon.ico"> + <link rel="apple-touch-icon-precomposed" sizes="114x114" href="/img/ico/apple-touch-icon-114.png"> + <link rel="apple-touch-icon-precomposed" sizes="72x72" href="/img/ico/apple-touch-icon-72.png"> + <link rel="apple-touch-icon-precomposed" href="/img/ico/apple-touch-icon-57.png"> + + +</head> + + +<body class=""> + <header id="page-head"> + <div id="topbar" class="container"> + <div class="row"> + <div class="span2"> + <h1 id="logo"><a href="/" title="99s">99s</a></h1> + </div> + <div class="span10"> + + <div id="side-header"> + <nav> + <ul> + <li><a title="Hear my thoughts" href="/articles">Articles</a></li> + <li><a title="Watch my talks" href="/talks">Talks</a></li> + <li class="active"><a title="Read the docs" href="/docs">Documentation</a></li> + <li><a title="Request my services" href="/services">Consulting & Training</a></li> + </ul> + </nav> + <ul id="social"> + <li> + <a href="https://github.com/ninenines" title="Check my Github repositories"><img src="/img/ico_github.png" data-hover="/img/ico_github_alt.png" alt="Github"></a> + </li> + <li> + <a title="Contact me" href="mailto:[email protected]"><img src="/img/ico_mail.png" data-hover="/img/ico_mail_alt.png"></a> + </li> + </ul> + </div> + </div> + </div> + </div> + + +</header> + +<div id="contents" class="two_col"> +<div class="container"> +<div class="row"> +<div id="docs" class="span9 maincol"> + +<h1 class="lined-header"><span>gun_up(3)</span></h1> + +<div class="sect1"> +<h2 id="_name">Name</h2> +<div class="sectionbody"> +<div class="paragraph"><p>gun_up - The connection is up</p></div> +</div> +</div> +<div class="sect1"> +<h2 id="_description">Description</h2> +<div class="sectionbody"> +<div class="listingblock"> +<div class="content"><!-- Generator: GNU source-highlight +by Lorenzo Bettini +http://www.lorenzobettini.it +http://www.gnu.org/software/src-highlite --> +<pre><tt>{<span style="color: #FF6600">gun_up</span>, <span style="color: #009900">ConnPid</span>, <span style="color: #009900">Protocol</span>} + +<span style="color: #009900">ConnPid</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">pid</span></span>() +<span style="color: #009900">Protocol</span> <span style="color: #990000">::</span> <span style="color: #FF6600">http</span> | <span style="color: #FF6600">http2</span></tt></pre></div></div> +<div class="paragraph"><p>The connection is up.</p></div> +<div class="paragraph"><p>This message informs the owner process that the connection or +reconnection completed.</p></div> +<div class="paragraph"><p>Gun will now start processing the messages it received while +waiting for the connection to be up. If this is a reconnection, +then this may not be desirable for all requests. Those requests +should be cancelled when the connection goes down, and any +subsequent messages ignored.</p></div> +</div> +</div> +<div class="sect1"> +<h2 id="_elements">Elements</h2> +<div class="sectionbody"> +<div class="dlist"><dl> +<dt class="hdlist1"> +ConnPid +</dt> +<dd> +<p> +The pid of the Gun connection process. +</p> +</dd> +<dt class="hdlist1"> +Protocol +</dt> +<dd> +<p> +The protocol selected for this connection. It can be used +to determine the capabilities of the server. +</p> +</dd> +</dl></div> +</div> +</div> +<div class="sect1"> +<h2 id="_changelog">Changelog</h2> +<div class="sectionbody"> +<div class="ulist"><ul> +<li> +<p> +<strong>1.0</strong>: Message introduced. +</p> +</li> +</ul></div> +</div> +</div> +<div class="sect1"> +<h2 id="_examples">Examples</h2> +<div class="sectionbody"> +<div class="listingblock"> +<div class="title">Receive a gun_up message in a gen_server</div> +<div class="content"><!-- Generator: GNU source-highlight +by Lorenzo Bettini +http://www.lorenzobettini.it +http://www.gnu.org/software/src-highlite --> +<pre><tt><span style="font-weight: bold"><span style="color: #000000">handle_info</span></span>({<span style="color: #FF6600">gun_up</span>, <span style="color: #009900">ConnPid</span>, <span style="color: #009900">_Protocol</span>}, + <span style="color: #009900">State</span><span style="color: #990000">=</span><span style="color: #008080">#state</span>{<span style="color: #0000FF">conn_pid</span><span style="color: #990000">=</span><span style="color: #009900">ConnPid</span>}) <span style="color: #990000">-></span> + <span style="font-style: italic"><span style="color: #9A1900">%% Do something.</span></span> + {<span style="color: #FF6600">noreply</span>, <span style="color: #009900">State</span>}<span style="color: #990000">.</span></tt></pre></div></div> +</div> +</div> +<div class="sect1"> +<h2 id="_see_also">See also</h2> +<div class="sectionbody"> +<div class="paragraph"><p><a href="../gun">gun(3)</a>, +<a href="../gun.open">gun:open(3)</a>, +<a href="../gun.open_unix">gun:open_unix(3)</a>, +<a href="../gun.await_up">gun:await_up(3)</a>, +<a href="../gun_down">gun_down(3)</a>, +<a href="../gun_error">gun_error(3)</a></p></div> +</div> +</div> + + + + + +</div> + +<div class="span3 sidecol"> + + +<h3> + Gun + 1.0 + Function Reference + +</h3> + +<ul> + + <li><a href="/docs/en/gun/1.0/guide">User Guide</a></li> + + + <li><a href="/docs/en/gun/1.0/manual">Function Reference</a></li> + + +</ul> + +<h4 id="docs-nav">Navigation</h4> + +<h4>Version select</h4> +<ul> + + + + <li><a href="/docs/en/gun/1.0/manual">1.0</a></li> + +</ul> + +</div> +</div> +</div> +</div> + + <footer> + <div class="container"> + <div class="row"> + <div class="span6"> + <p id="scroll-top"><a href="#">↑ Scroll to top</a></p> + <nav> + <ul> + <li><a href="mailto:[email protected]" title="Contact us">Contact us</a></li><li><a href="https://github.com/ninenines/ninenines.github.io" title="Github repository">Contribute to this site</a></li> + </ul> + </nav> + </div> + <div class="span6 credits"> + <p><img src="/img/footer_logo.png"></p> + <p>Copyright © Loïc Hoguin 2012-2018</p> + </div> + </div> + </div> + </footer> + + + <script src="/js/custom.js"></script> + </body> +</html> + + diff --git a/docs/en/gun/1.0/manual/gun_upgrade/index.html b/docs/en/gun/1.0/manual/gun_upgrade/index.html new file mode 100644 index 00000000..56e8e569 --- /dev/null +++ b/docs/en/gun/1.0/manual/gun_upgrade/index.html @@ -0,0 +1,240 @@ +<!DOCTYPE html> +<html lang="en"> + +<head> + <meta charset="utf-8"> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + <meta name="description" content=""> + <meta name="author" content="Loïc Hoguin based on a design from (Soft10) Pol Cámara"> + + <title>Nine Nines: gun_upgrade(3)</title> + + <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic' rel='stylesheet' type='text/css'> + <link href="/css/99s.css?r=1" rel="stylesheet"> + + <link rel="shortcut icon" href="/img/ico/favicon.ico"> + <link rel="apple-touch-icon-precomposed" sizes="114x114" href="/img/ico/apple-touch-icon-114.png"> + <link rel="apple-touch-icon-precomposed" sizes="72x72" href="/img/ico/apple-touch-icon-72.png"> + <link rel="apple-touch-icon-precomposed" href="/img/ico/apple-touch-icon-57.png"> + + +</head> + + +<body class=""> + <header id="page-head"> + <div id="topbar" class="container"> + <div class="row"> + <div class="span2"> + <h1 id="logo"><a href="/" title="99s">99s</a></h1> + </div> + <div class="span10"> + + <div id="side-header"> + <nav> + <ul> + <li><a title="Hear my thoughts" href="/articles">Articles</a></li> + <li><a title="Watch my talks" href="/talks">Talks</a></li> + <li class="active"><a title="Read the docs" href="/docs">Documentation</a></li> + <li><a title="Request my services" href="/services">Consulting & Training</a></li> + </ul> + </nav> + <ul id="social"> + <li> + <a href="https://github.com/ninenines" title="Check my Github repositories"><img src="/img/ico_github.png" data-hover="/img/ico_github_alt.png" alt="Github"></a> + </li> + <li> + <a title="Contact me" href="mailto:[email protected]"><img src="/img/ico_mail.png" data-hover="/img/ico_mail_alt.png"></a> + </li> + </ul> + </div> + </div> + </div> + </div> + + +</header> + +<div id="contents" class="two_col"> +<div class="container"> +<div class="row"> +<div id="docs" class="span9 maincol"> + +<h1 class="lined-header"><span>gun_upgrade(3)</span></h1> + +<div class="sect1"> +<h2 id="_name">Name</h2> +<div class="sectionbody"> +<div class="paragraph"><p>gun_upgrade - Successful protocol upgrade</p></div> +</div> +</div> +<div class="sect1"> +<h2 id="_description">Description</h2> +<div class="sectionbody"> +<div class="listingblock"> +<div class="content"><!-- Generator: GNU source-highlight +by Lorenzo Bettini +http://www.lorenzobettini.it +http://www.gnu.org/software/src-highlite --> +<pre><tt>{<span style="color: #FF6600">gun_upgrade</span>, <span style="color: #009900">ConnPid</span>, <span style="color: #009900">StreamRef</span>, <span style="color: #009900">Protocols</span>, <span style="color: #009900">Headers</span>} + +<span style="color: #009900">ConnPid</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">pid</span></span>() +<span style="color: #009900">StreamRef</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">reference</span></span>() +<span style="color: #009900">Protocols</span> <span style="color: #990000">::</span> [<span style="color: #990000"><<</span><span style="color: #FF0000">"websocket"</span><span style="color: #990000">>></span>] +<span style="color: #009900">Headers</span> <span style="color: #990000">::</span> [{<span style="font-weight: bold"><span style="color: #000080">binary</span></span>(), <span style="font-weight: bold"><span style="color: #000080">binary</span></span>()}]</tt></pre></div></div> +<div class="paragraph"><p>Successful protocol upgrade.</p></div> +<div class="paragraph"><p>This message informs the relevant process that the server +accepted to upgrade to one or more protocols given in the +original request.</p></div> +<div class="paragraph"><p>The exact semantics of this message depend on the original +protocol. HTTP/1.1 upgrades apply to the entire connection. +HTTP/2 uses a different mechanism which allows switching +specific streams to a different protocol.</p></div> +<div class="paragraph"><p>Gun currently only supports upgrading HTTP/1.1 connections +to the Websocket protocol.</p></div> +</div> +</div> +<div class="sect1"> +<h2 id="_elements">Elements</h2> +<div class="sectionbody"> +<div class="dlist"><dl> +<dt class="hdlist1"> +ConnPid +</dt> +<dd> +<p> +The pid of the Gun connection process. +</p> +</dd> +<dt class="hdlist1"> +StreamRef +</dt> +<dd> +<p> +Identifier of the stream that resulted in an upgrade. +</p> +</dd> +<dt class="hdlist1"> +Protocols +</dt> +<dd> +<p> +List of protocols this stream was upgraded to. +</p> +</dd> +<dt class="hdlist1"> +Headers +</dt> +<dd> +<p> +Headers sent with the upgrade response. +</p> +</dd> +</dl></div> +</div> +</div> +<div class="sect1"> +<h2 id="_changelog">Changelog</h2> +<div class="sectionbody"> +<div class="ulist"><ul> +<li> +<p> +<strong>1.0</strong>: Message introduced. +</p> +</li> +</ul></div> +</div> +</div> +<div class="sect1"> +<h2 id="_examples">Examples</h2> +<div class="sectionbody"> +<div class="listingblock"> +<div class="title">Receive a gun_upgrade message in a gen_server</div> +<div class="content"><!-- Generator: GNU source-highlight +by Lorenzo Bettini +http://www.lorenzobettini.it +http://www.gnu.org/software/src-highlite --> +<pre><tt><span style="font-weight: bold"><span style="color: #000000">handle_info</span></span>({<span style="color: #FF6600">gun_upgrade</span>, <span style="color: #009900">ConnPid</span>, <span style="color: #009900">_StreamRef</span>, + <span style="color: #009900">_Protocols</span>, <span style="color: #009900">_Headers</span>}, + <span style="color: #009900">State</span><span style="color: #990000">=</span><span style="color: #008080">#state</span>{<span style="color: #0000FF">conn_pid</span><span style="color: #990000">=</span><span style="color: #009900">ConnPid</span>}) <span style="color: #990000">-></span> + <span style="font-style: italic"><span style="color: #9A1900">%% Do something.</span></span> + {<span style="color: #FF6600">noreply</span>, <span style="color: #009900">State</span>}<span style="color: #990000">.</span></tt></pre></div></div> +</div> +</div> +<div class="sect1"> +<h2 id="_see_also">See also</h2> +<div class="sectionbody"> +<div class="paragraph"><p><a href="../gun">gun(3)</a>, +<a href="../gun.ws_upgrade">gun:ws_upgrade(3)</a>, +<a href="../gun.ws_send">gun:ws_send(3)</a>, +<a href="../gun_ws">gun_ws(3)</a></p></div> +</div> +</div> + + + + + +</div> + +<div class="span3 sidecol"> + + +<h3> + Gun + 1.0 + Function Reference + +</h3> + +<ul> + + <li><a href="/docs/en/gun/1.0/guide">User Guide</a></li> + + + <li><a href="/docs/en/gun/1.0/manual">Function Reference</a></li> + + +</ul> + +<h4 id="docs-nav">Navigation</h4> + +<h4>Version select</h4> +<ul> + + + + <li><a href="/docs/en/gun/1.0/manual">1.0</a></li> + +</ul> + +</div> +</div> +</div> +</div> + + <footer> + <div class="container"> + <div class="row"> + <div class="span6"> + <p id="scroll-top"><a href="#">↑ Scroll to top</a></p> + <nav> + <ul> + <li><a href="mailto:[email protected]" title="Contact us">Contact us</a></li><li><a href="https://github.com/ninenines/ninenines.github.io" title="Github repository">Contribute to this site</a></li> + </ul> + </nav> + </div> + <div class="span6 credits"> + <p><img src="/img/footer_logo.png"></p> + <p>Copyright © Loïc Hoguin 2012-2018</p> + </div> + </div> + </div> + </footer> + + + <script src="/js/custom.js"></script> + </body> +</html> + + diff --git a/docs/en/gun/1.0/manual/gun_ws/index.html b/docs/en/gun/1.0/manual/gun_ws/index.html new file mode 100644 index 00000000..e7eb4125 --- /dev/null +++ b/docs/en/gun/1.0/manual/gun_ws/index.html @@ -0,0 +1,227 @@ +<!DOCTYPE html> +<html lang="en"> + +<head> + <meta charset="utf-8"> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + <meta name="description" content=""> + <meta name="author" content="Loïc Hoguin based on a design from (Soft10) Pol Cámara"> + + <title>Nine Nines: gun_ws(3)</title> + + <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic' rel='stylesheet' type='text/css'> + <link href="/css/99s.css?r=1" rel="stylesheet"> + + <link rel="shortcut icon" href="/img/ico/favicon.ico"> + <link rel="apple-touch-icon-precomposed" sizes="114x114" href="/img/ico/apple-touch-icon-114.png"> + <link rel="apple-touch-icon-precomposed" sizes="72x72" href="/img/ico/apple-touch-icon-72.png"> + <link rel="apple-touch-icon-precomposed" href="/img/ico/apple-touch-icon-57.png"> + + +</head> + + +<body class=""> + <header id="page-head"> + <div id="topbar" class="container"> + <div class="row"> + <div class="span2"> + <h1 id="logo"><a href="/" title="99s">99s</a></h1> + </div> + <div class="span10"> + + <div id="side-header"> + <nav> + <ul> + <li><a title="Hear my thoughts" href="/articles">Articles</a></li> + <li><a title="Watch my talks" href="/talks">Talks</a></li> + <li class="active"><a title="Read the docs" href="/docs">Documentation</a></li> + <li><a title="Request my services" href="/services">Consulting & Training</a></li> + </ul> + </nav> + <ul id="social"> + <li> + <a href="https://github.com/ninenines" title="Check my Github repositories"><img src="/img/ico_github.png" data-hover="/img/ico_github_alt.png" alt="Github"></a> + </li> + <li> + <a title="Contact me" href="mailto:[email protected]"><img src="/img/ico_mail.png" data-hover="/img/ico_mail_alt.png"></a> + </li> + </ul> + </div> + </div> + </div> + </div> + + +</header> + +<div id="contents" class="two_col"> +<div class="container"> +<div class="row"> +<div id="docs" class="span9 maincol"> + +<h1 class="lined-header"><span>gun_ws(3)</span></h1> + +<div class="sect1"> +<h2 id="_name">Name</h2> +<div class="sectionbody"> +<div class="paragraph"><p>gun_ws - Websocket frame</p></div> +</div> +</div> +<div class="sect1"> +<h2 id="_description">Description</h2> +<div class="sectionbody"> +<div class="listingblock"> +<div class="content"><!-- Generator: GNU source-highlight +by Lorenzo Bettini +http://www.lorenzobettini.it +http://www.gnu.org/software/src-highlite --> +<pre><tt>{<span style="color: #FF6600">gun_ws</span>, <span style="color: #009900">ConnPid</span>, <span style="color: #009900">StreamRef</span>, <span style="color: #009900">Frame</span>} + +<span style="color: #009900">ConnPid</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">pid</span></span>() +<span style="color: #009900">StreamRef</span> <span style="color: #990000">::</span> <span style="font-weight: bold"><span style="color: #000080">reference</span></span>() +<span style="color: #009900">Frame</span> <span style="color: #990000">::</span> <span style="color: #FF6600">close</span> + | {<span style="color: #FF6600">text</span> | <span style="font-weight: bold"><span style="color: #000080">binary</span></span> | <span style="color: #FF6600">close</span>, <span style="font-weight: bold"><span style="color: #000080">binary</span></span>()} + | {<span style="color: #FF6600">close</span>, <span style="font-weight: bold"><span style="color: #000000">non_neg_integer</span></span>(), <span style="font-weight: bold"><span style="color: #000080">binary</span></span>()}</tt></pre></div></div> +<div class="paragraph"><p>Websocket frame.</p></div> +<div class="paragraph"><p>This message informs the relevant process that the server +sent the enclosed frame.</p></div> +<div class="paragraph"><p>This message can only be sent on streams that were upgraded +to the Websocket protocol.</p></div> +</div> +</div> +<div class="sect1"> +<h2 id="_elements">Elements</h2> +<div class="sectionbody"> +<div class="dlist"><dl> +<dt class="hdlist1"> +ConnPid +</dt> +<dd> +<p> +The pid of the Gun connection process. +</p> +</dd> +<dt class="hdlist1"> +StreamRef +</dt> +<dd> +<p> +Identifier of the stream that was upgraded to Websocket. +</p> +</dd> +<dt class="hdlist1"> +Frame +</dt> +<dd> +<p> +The Websocket frame in question. +</p> +</dd> +</dl></div> +</div> +</div> +<div class="sect1"> +<h2 id="_changelog">Changelog</h2> +<div class="sectionbody"> +<div class="ulist"><ul> +<li> +<p> +<strong>1.0</strong>: Message introduced. +</p> +</li> +</ul></div> +</div> +</div> +<div class="sect1"> +<h2 id="_examples">Examples</h2> +<div class="sectionbody"> +<div class="listingblock"> +<div class="title">Receive a gun_ws message in a gen_server</div> +<div class="content"><!-- Generator: GNU source-highlight +by Lorenzo Bettini +http://www.lorenzobettini.it +http://www.gnu.org/software/src-highlite --> +<pre><tt><span style="font-weight: bold"><span style="color: #000000">handle_info</span></span>({<span style="color: #FF6600">gun_ws</span>, <span style="color: #009900">ConnPid</span>, <span style="color: #009900">_StreamRef</span>, <span style="color: #009900">_Frame</span>}, + <span style="color: #009900">State</span><span style="color: #990000">=</span><span style="color: #008080">#state</span>{<span style="color: #0000FF">conn_pid</span><span style="color: #990000">=</span><span style="color: #009900">ConnPid</span>}) <span style="color: #990000">-></span> + <span style="font-style: italic"><span style="color: #9A1900">%% Do something.</span></span> + {<span style="color: #FF6600">noreply</span>, <span style="color: #009900">State</span>}<span style="color: #990000">.</span></tt></pre></div></div> +</div> +</div> +<div class="sect1"> +<h2 id="_see_also">See also</h2> +<div class="sectionbody"> +<div class="paragraph"><p><a href="../gun">gun(3)</a>, +<a href="../gun.ws_upgrade">gun:ws_upgrade(3)</a>, +<a href="../gun.ws_send">gun:ws_send(3)</a>, +<a href="../gun_upgrade">gun_upgrade(3)</a></p></div> +</div> +</div> + + + + + +</div> + +<div class="span3 sidecol"> + + +<h3> + Gun + 1.0 + Function Reference + +</h3> + +<ul> + + <li><a href="/docs/en/gun/1.0/guide">User Guide</a></li> + + + <li><a href="/docs/en/gun/1.0/manual">Function Reference</a></li> + + +</ul> + +<h4 id="docs-nav">Navigation</h4> + +<h4>Version select</h4> +<ul> + + + + <li><a href="/docs/en/gun/1.0/manual">1.0</a></li> + +</ul> + +</div> +</div> +</div> +</div> + + <footer> + <div class="container"> + <div class="row"> + <div class="span6"> + <p id="scroll-top"><a href="#">↑ Scroll to top</a></p> + <nav> + <ul> + <li><a href="mailto:[email protected]" title="Contact us">Contact us</a></li><li><a href="https://github.com/ninenines/ninenines.github.io" title="Github repository">Contribute to this site</a></li> + </ul> + </nav> + </div> + <div class="span6 credits"> + <p><img src="/img/footer_logo.png"></p> + <p>Copyright © Loïc Hoguin 2012-2018</p> + </div> + </div> + </div> + </footer> + + + <script src="/js/custom.js"></script> + </body> +</html> + + diff --git a/docs/en/gun/1.0/manual/index.html b/docs/en/gun/1.0/manual/index.html index d8304a20..63acd4af 100644 --- a/docs/en/gun/1.0/manual/index.html +++ b/docs/en/gun/1.0/manual/index.html @@ -7,8 +7,6 @@ <meta name="description" content=""> <meta name="author" content="Loïc Hoguin based on a design from (Soft10) Pol Cámara"> - <meta name="generator" content="Hugo 0.37.1" /> - <title>Nine Nines: Gun Function Reference</title> <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic' rel='stylesheet' type='text/css'> @@ -75,6 +73,156 @@ <a href="gun">gun(3)</a> </p> </li> +<li> +<p> +<a href="gun.await">gun:await(3)</a> +</p> +</li> +<li> +<p> +<a href="gun.await_body">gun:await_body(3)</a> +</p> +</li> +<li> +<p> +<a href="gun.await_up">gun:await_up(3)</a> +</p> +</li> +<li> +<p> +<a href="gun.cancel">gun:cancel(3)</a> +</p> +</li> +<li> +<p> +<a href="gun.close">gun:close(3)</a> +</p> +</li> +<li> +<p> +<a href="gun_data">gun_data(3)</a> +</p> +</li> +<li> +<p> +<a href="gun.data">gun:data(3)</a> +</p> +</li> +<li> +<p> +<a href="gun.delete">gun:delete(3)</a> +</p> +</li> +<li> +<p> +<a href="gun_down">gun_down(3)</a> +</p> +</li> +<li> +<p> +<a href="gun_error">gun_error(3)</a> +</p> +</li> +<li> +<p> +<a href="gun.flush">gun:flush(3)</a> +</p> +</li> +<li> +<p> +<a href="gun.get">gun:get(3)</a> +</p> +</li> +<li> +<p> +<a href="gun.head">gun:head(3)</a> +</p> +</li> +<li> +<p> +<a href="gun.info">gun:info(3)</a> +</p> +</li> +<li> +<p> +<a href="gun_inform">gun_inform(3)</a> +</p> +</li> +<li> +<p> +<a href="gun.open">gun:open(3)</a> +</p> +</li> +<li> +<p> +<a href="gun.open_unix">gun:open_unix(3)</a> +</p> +</li> +<li> +<p> +<a href="gun.options">gun:options(3)</a> +</p> +</li> +<li> +<p> +<a href="gun.patch">gun:patch(3)</a> +</p> +</li> +<li> +<p> +<a href="gun.post">gun:post(3)</a> +</p> +</li> +<li> +<p> +<a href="gun_push">gun_push(3)</a> +</p> +</li> +<li> +<p> +<a href="gun.put">gun:put(3)</a> +</p> +</li> +<li> +<p> +<a href="gun.request">gun:request(3)</a> +</p> +</li> +<li> +<p> +<a href="gun_response">gun_response(3)</a> +</p> +</li> +<li> +<p> +<a href="gun_trailers">gun_trailers(3)</a> +</p> +</li> +<li> +<p> +<a href="gun_up">gun_up(3)</a> +</p> +</li> +<li> +<p> +<a href="gun_upgrade">gun_upgrade(3)</a> +</p> +</li> +<li> +<p> +<a href="gun_ws">gun_ws(3)</a> +</p> +</li> +<li> +<p> +<a href="gun.ws_send">gun:ws_send(3)</a> +</p> +</li> +<li> +<p> +<a href="gun.ws_upgrade">gun:ws_upgrade(3)</a> +</p> +</li> </ul></div> |