Skip to content

Commit a6241c6

Browse files
author
Documenter.jl
committed
build based on 2a53288
1 parent b3244f9 commit a6241c6

12 files changed

Lines changed: 47 additions & 47 deletions

File tree

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
{"documenter":{"documenter_version":"1.17.0","generation_timestamp":"2026-07-11T20:14:11","julia_version":"1.12.6"}}
1+
{"documenter":{"documenter_version":"1.17.0","generation_timestamp":"2026-07-24T05:48:05","julia_version":"1.12.6"}}

previews/PR1330/api/client/index.html

Lines changed: 13 additions & 13 deletions
Large diffs are not rendered by default.

previews/PR1330/api/core/index.html

Lines changed: 15 additions & 15 deletions
Large diffs are not rendered by default.

previews/PR1330/api/reference/index.html

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

previews/PR1330/api/server/index.html

Lines changed: 7 additions & 7 deletions
Large diffs are not rendered by default.

previews/PR1330/api/websockets/index.html

Lines changed: 4 additions & 4 deletions
Large diffs are not rendered by default.

previews/PR1330/guides/client/index.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -176,4 +176,4 @@
176176
[http] response
177177
HTTP/1.1 200 OK
178178
Content-Length: 1256
179-
[http] done 200 for http://example.com/</code></pre><p>For programmatic introspection — for example, to push events into your own logger — pass a <code>trace</code> callback. The callback receives subtypes of <code>HTTP.ClientEvent</code>:</p><ul><li><a href="../../api/client/#HTTP.RequestEvent"><code>HTTP.RequestEvent</code></a> — request being sent</li><li><a href="../../api/client/#HTTP.ResponseHeadEvent"><code>HTTP.ResponseHeadEvent</code></a> — response headers received</li><li><a href="../../api/client/#HTTP.RetryEvent"><code>HTTP.RetryEvent</code></a> — retry scheduled</li><li><a href="../../api/client/#HTTP.RedirectEvent"><code>HTTP.RedirectEvent</code></a> — redirect followed</li><li><a href="../../api/client/#HTTP.DoneEvent"><code>HTTP.DoneEvent</code></a> — request finished (with response or error)</li></ul><p>Reach for these APIs when you need more control:</p><ul><li><code>RetryBucket</code> for coordinated retry throttling</li><li><code>connect_timeout</code>, <code>request_timeout</code>, <code>response_header_timeout</code>, <code>read_idle_timeout</code>, <code>write_idle_timeout</code>, and <code>expect_continue_timeout</code> on <code>request</code></li><li><code>retry_if</code>, <code>retry_non_idempotent</code>, and <code>respect_retry_after</code> for custom retry policy</li></ul><p>The full custom retry callback signature is:</p><pre><code class="language-julia hljs">retry_if(attempt::Integer, err, req::HTTP.Request, resp) -&gt; Union{Bool,Nothing}</code></pre><p>When it runs for a request-path failure, <code>err</code> is a <code>RequestRetryError</code>; inspect <code>err.err</code> to see the underlying transport or protocol exception. Response-based retry decisions keep <code>err = nothing</code> and pass the response through <code>resp</code>. Returning <code>true</code> requests another attempt when the request body can be replayed, <code>false</code> suppresses a retry, and <code>nothing</code> defers to the built-in retry rules.</p><h3 id="1.x-Compatibility-Keywords"><a class="docs-heading-anchor" href="#1.x-Compatibility-Keywords">1.x Compatibility Keywords</a><a id="1.x-Compatibility-Keywords-1"></a><a class="docs-heading-anchor-permalink" href="#1.x-Compatibility-Keywords" title="Permalink"></a></h3><p>HTTP.jl 2.0 accepts several 1.x client keywords as migration aids. Treat them as temporary compatibility, not as the preferred API:</p><ul><li><code>readtimeout</code> maps to <code>read_idle_timeout</code></li><li><code>pool</code> should become a long-lived <code>Client</code> or <code>Transport</code></li><li><code>retry_delays</code> and <code>retry_check</code> should become <code>retry_if</code>, <code>retries</code>, and <code>retry_bucket</code></li><li><code>sslconfig</code> and <code>socket_type_tls</code> should move to transport/TLS configuration</li><li><code>copyheaders</code>, <code>canonicalize_headers</code>, <code>detect_content_type</code>, <code>observelayers</code>, <code>logerrors</code>, and <code>logtag</code> are accepted for compatibility where possible</li></ul><p>See the <a href="../migration-1x/">migration guide</a> for before/after examples.</p></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../../">« Home</a><a class="docs-footer-nextpage" href="../server/">Server »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="auto">Automatic (OS)</option><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option><option value="catppuccin-latte">catppuccin-latte</option><option value="catppuccin-frappe">catppuccin-frappe</option><option value="catppuccin-macchiato">catppuccin-macchiato</option><option value="catppuccin-mocha">catppuccin-mocha</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 1.17.0 on <span class="colophon-date" title="Saturday 11 July 2026 20:14">Saturday 11 July 2026</span>. Using Julia version 1.12.6.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
179+
[http] done 200 for http://example.com/</code></pre><p>For programmatic introspection — for example, to push events into your own logger — pass a <code>trace</code> callback. The callback receives subtypes of <code>HTTP.ClientEvent</code>:</p><ul><li><a href="../../api/client/#HTTP.RequestEvent"><code>HTTP.RequestEvent</code></a> — request being sent</li><li><a href="../../api/client/#HTTP.ResponseHeadEvent"><code>HTTP.ResponseHeadEvent</code></a> — response headers received</li><li><a href="../../api/client/#HTTP.RetryEvent"><code>HTTP.RetryEvent</code></a> — retry scheduled</li><li><a href="../../api/client/#HTTP.RedirectEvent"><code>HTTP.RedirectEvent</code></a> — redirect followed</li><li><a href="../../api/client/#HTTP.DoneEvent"><code>HTTP.DoneEvent</code></a> — request finished (with response or error)</li></ul><p>Reach for these APIs when you need more control:</p><ul><li><code>RetryBucket</code> for coordinated retry throttling</li><li><code>connect_timeout</code>, <code>request_timeout</code>, <code>response_header_timeout</code>, <code>read_idle_timeout</code>, <code>write_idle_timeout</code>, and <code>expect_continue_timeout</code> on <code>request</code></li><li><code>retry_if</code>, <code>retry_non_idempotent</code>, and <code>respect_retry_after</code> for custom retry policy</li></ul><p>The full custom retry callback signature is:</p><pre><code class="language-julia hljs">retry_if(attempt::Integer, err, req::HTTP.Request, resp) -&gt; Union{Bool,Nothing}</code></pre><p>When it runs for a request-path failure, <code>err</code> is a <code>RequestRetryError</code>; inspect <code>err.err</code> to see the underlying transport or protocol exception. Response-based retry decisions keep <code>err = nothing</code> and pass the response through <code>resp</code>. Returning <code>true</code> requests another attempt when the request body can be replayed, <code>false</code> suppresses a retry, and <code>nothing</code> defers to the built-in retry rules.</p><h3 id="1.x-Compatibility-Keywords"><a class="docs-heading-anchor" href="#1.x-Compatibility-Keywords">1.x Compatibility Keywords</a><a id="1.x-Compatibility-Keywords-1"></a><a class="docs-heading-anchor-permalink" href="#1.x-Compatibility-Keywords" title="Permalink"></a></h3><p>HTTP.jl 2.0 accepts several 1.x client keywords as migration aids. Treat them as temporary compatibility, not as the preferred API:</p><ul><li><code>readtimeout</code> maps to <code>read_idle_timeout</code></li><li><code>pool</code> should become a long-lived <code>Client</code> or <code>Transport</code></li><li><code>retry_delays</code> and <code>retry_check</code> should become <code>retry_if</code>, <code>retries</code>, and <code>retry_bucket</code></li><li><code>sslconfig</code> and <code>socket_type_tls</code> should move to transport/TLS configuration</li><li><code>copyheaders</code>, <code>canonicalize_headers</code>, <code>detect_content_type</code>, <code>observelayers</code>, <code>logerrors</code>, and <code>logtag</code> are accepted for compatibility where possible</li></ul><p>See the <a href="../migration-1x/">migration guide</a> for before/after examples.</p></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../../">« Home</a><a class="docs-footer-nextpage" href="../server/">Server »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="auto">Automatic (OS)</option><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option><option value="catppuccin-latte">catppuccin-latte</option><option value="catppuccin-frappe">catppuccin-frappe</option><option value="catppuccin-macchiato">catppuccin-macchiato</option><option value="catppuccin-mocha">catppuccin-mocha</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 1.17.0 on <span class="colophon-date" title="Friday 24 July 2026 05:48">Friday 24 July 2026</span>. Using Julia version 1.12.6.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>

previews/PR1330/guides/migration-1x/index.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -155,4 +155,4 @@
155155
return HTTP.sse_stream(200) do stream
156156
write(stream, HTTP.SSEEvent(&quot;ready&quot;; event = &quot;status&quot;, id = &quot;1&quot;))
157157
end
158-
end</code></pre><h2 id="Internal-APIs"><a class="docs-heading-anchor" href="#Internal-APIs">Internal APIs</a><a id="Internal-APIs-1"></a><a class="docs-heading-anchor-permalink" href="#Internal-APIs" title="Permalink"></a></h2><p>These 1.x internals are not migration targets for 2.0:</p><ul><li>layer-stack internals</li><li>connection-pool internals</li><li>parser internals</li><li>undocumented socket/TLS extension points</li></ul><p>Move those call sites to documented <code>Client</code>, <code>Transport</code>, <code>Stream</code>, server, router, WebSocket, or SSE APIs. If a 1.x internal use case cannot be expressed through the 2.0 public surface, open an issue with the use case rather than depending on the new internals.</p><h2 id="Compatibility-Keywords"><a class="docs-heading-anchor" href="#Compatibility-Keywords">Compatibility Keywords</a><a id="Compatibility-Keywords-1"></a><a class="docs-heading-anchor-permalink" href="#Compatibility-Keywords" title="Permalink"></a></h2><p>HTTP.jl 2.0 accepts several old client keywords so existing code fails less abruptly:</p><ul><li><code>readtimeout</code>: maps to <code>read_idle_timeout</code></li><li><code>pool</code>: accepted, but use <code>client</code> / <code>transport</code></li><li><code>retry_delays</code> and <code>retry_check</code>: accepted, but use <code>retry_if</code>, <code>retries</code>, and <code>retry_bucket</code></li><li><code>sslconfig</code> and <code>socket_type_tls</code>: accepted, but configure the transport</li><li><code>copyheaders</code>, <code>canonicalize_headers</code>, <code>detect_content_type</code>, <code>observelayers</code>, <code>logerrors</code>, and <code>logtag</code>: accepted for compatibility, but not the preferred 2.0 observation/configuration surface</li></ul><p>Treat these as temporary migration aids. New code should use the documented 2.0 API names.</p><h2 id="Final-Checklist"><a class="docs-heading-anchor" href="#Final-Checklist">Final Checklist</a><a id="Final-Checklist-1"></a><a class="docs-heading-anchor-permalink" href="#Final-Checklist" title="Permalink"></a></h2><ul><li>Prefer <code>resp.status</code>; <code>resp.status_code</code> remains available as a compatibility alias.</li><li>Use <code>HTTP.get_request_context(req)</code> for cancellation/deadline state.</li><li>Prefer keyword constructors for <code>Request</code> and <code>Response</code>.</li><li>Replace <code>pool</code> usage with a long-lived <code>HTTP.Client</code>.</li><li>Replace <code>readtimeout</code> with the precise timeout keyword you need.</li><li>Replace <code>HTTP.Exceptions.StatusError</code> &amp; friends with the top-level <code>HTTP.StatusError</code>; <code>HTTP.RequestError</code> is gone — catch the underlying exception or use <code>HTTP.isrecoverable</code>.</li><li>Replace <code>HTTP.download</code> with <code>Downloads.download</code> or an explicit <code>HTTP.request(...; response_stream = io)</code> file stream.</li><li>Move WebSocket code to <code>HTTP.WebSockets</code>.</li><li>Replace <code>Sockets.getpeername(stream)</code> with <code>HTTP.peeraddr(stream)</code>.</li><li>Replace internal parser/connection/HPACK/HTTP2 usage with documented APIs.</li><li>Run integration tests for redirects, retries, proxy configuration, cookies, streaming, WebSockets, SSE, and HTTP/2 after upgrading.</li></ul></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../protocols/">« Protocols</a><a class="docs-footer-nextpage" href="../../api/reference/">Overview »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="auto">Automatic (OS)</option><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option><option value="catppuccin-latte">catppuccin-latte</option><option value="catppuccin-frappe">catppuccin-frappe</option><option value="catppuccin-macchiato">catppuccin-macchiato</option><option value="catppuccin-mocha">catppuccin-mocha</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 1.17.0 on <span class="colophon-date" title="Saturday 11 July 2026 20:14">Saturday 11 July 2026</span>. Using Julia version 1.12.6.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
158+
end</code></pre><h2 id="Internal-APIs"><a class="docs-heading-anchor" href="#Internal-APIs">Internal APIs</a><a id="Internal-APIs-1"></a><a class="docs-heading-anchor-permalink" href="#Internal-APIs" title="Permalink"></a></h2><p>These 1.x internals are not migration targets for 2.0:</p><ul><li>layer-stack internals</li><li>connection-pool internals</li><li>parser internals</li><li>undocumented socket/TLS extension points</li></ul><p>Move those call sites to documented <code>Client</code>, <code>Transport</code>, <code>Stream</code>, server, router, WebSocket, or SSE APIs. If a 1.x internal use case cannot be expressed through the 2.0 public surface, open an issue with the use case rather than depending on the new internals.</p><h2 id="Compatibility-Keywords"><a class="docs-heading-anchor" href="#Compatibility-Keywords">Compatibility Keywords</a><a id="Compatibility-Keywords-1"></a><a class="docs-heading-anchor-permalink" href="#Compatibility-Keywords" title="Permalink"></a></h2><p>HTTP.jl 2.0 accepts several old client keywords so existing code fails less abruptly:</p><ul><li><code>readtimeout</code>: maps to <code>read_idle_timeout</code></li><li><code>pool</code>: accepted, but use <code>client</code> / <code>transport</code></li><li><code>retry_delays</code> and <code>retry_check</code>: accepted, but use <code>retry_if</code>, <code>retries</code>, and <code>retry_bucket</code></li><li><code>sslconfig</code> and <code>socket_type_tls</code>: accepted, but configure the transport</li><li><code>copyheaders</code>, <code>canonicalize_headers</code>, <code>detect_content_type</code>, <code>observelayers</code>, <code>logerrors</code>, and <code>logtag</code>: accepted for compatibility, but not the preferred 2.0 observation/configuration surface</li></ul><p>Treat these as temporary migration aids. New code should use the documented 2.0 API names.</p><h2 id="Final-Checklist"><a class="docs-heading-anchor" href="#Final-Checklist">Final Checklist</a><a id="Final-Checklist-1"></a><a class="docs-heading-anchor-permalink" href="#Final-Checklist" title="Permalink"></a></h2><ul><li>Prefer <code>resp.status</code>; <code>resp.status_code</code> remains available as a compatibility alias.</li><li>Use <code>HTTP.get_request_context(req)</code> for cancellation/deadline state.</li><li>Prefer keyword constructors for <code>Request</code> and <code>Response</code>.</li><li>Replace <code>pool</code> usage with a long-lived <code>HTTP.Client</code>.</li><li>Replace <code>readtimeout</code> with the precise timeout keyword you need.</li><li>Replace <code>HTTP.Exceptions.StatusError</code> &amp; friends with the top-level <code>HTTP.StatusError</code>; <code>HTTP.RequestError</code> is gone — catch the underlying exception or use <code>HTTP.isrecoverable</code>.</li><li>Replace <code>HTTP.download</code> with <code>Downloads.download</code> or an explicit <code>HTTP.request(...; response_stream = io)</code> file stream.</li><li>Move WebSocket code to <code>HTTP.WebSockets</code>.</li><li>Replace <code>Sockets.getpeername(stream)</code> with <code>HTTP.peeraddr(stream)</code>.</li><li>Replace internal parser/connection/HPACK/HTTP2 usage with documented APIs.</li><li>Run integration tests for redirects, retries, proxy configuration, cookies, streaming, WebSockets, SSE, and HTTP/2 after upgrading.</li></ul></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../protocols/">« Protocols</a><a class="docs-footer-nextpage" href="../../api/reference/">Overview »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="auto">Automatic (OS)</option><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option><option value="catppuccin-latte">catppuccin-latte</option><option value="catppuccin-frappe">catppuccin-frappe</option><option value="catppuccin-macchiato">catppuccin-macchiato</option><option value="catppuccin-mocha">catppuccin-mocha</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 1.17.0 on <span class="colophon-date" title="Friday 24 July 2026 05:48">Friday 24 July 2026</span>. Using Julia version 1.12.6.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>

0 commit comments

Comments
 (0)