239 lines
24 KiB
HTML
239 lines
24 KiB
HTML
|
<!DOCTYPE html>
|
||
|
<html>
|
||
|
<!-- Created by GNU Texinfo 7.1, https://www.gnu.org/software/texinfo/ -->
|
||
|
<head>
|
||
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||
|
<!-- This manual documents Guile version 3.0.10.
|
||
|
|
||
|
Copyright (C) 1996-1997, 2000-2005, 2009-2023 Free Software Foundation,
|
||
|
Inc.
|
||
|
|
||
|
Copyright (C) 2021 Maxime Devos
|
||
|
|
||
|
Copyright (C) 2024 Tomas Volf
|
||
|
|
||
|
|
||
|
Permission is granted to copy, distribute and/or modify this document
|
||
|
under the terms of the GNU Free Documentation License, Version 1.3 or
|
||
|
any later version published by the Free Software Foundation; with no
|
||
|
Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A
|
||
|
copy of the license is included in the section entitled "GNU Free
|
||
|
Documentation License." -->
|
||
|
<title>Requests (Guile Reference Manual)</title>
|
||
|
|
||
|
<meta name="description" content="Requests (Guile Reference Manual)">
|
||
|
<meta name="keywords" content="Requests (Guile Reference Manual)">
|
||
|
<meta name="resource-type" content="document">
|
||
|
<meta name="distribution" content="global">
|
||
|
<meta name="Generator" content=".texi2any-real">
|
||
|
<meta name="viewport" content="width=device-width,initial-scale=1">
|
||
|
|
||
|
<link href="index.html" rel="start" title="Top">
|
||
|
<link href="Concept-Index.html" rel="index" title="Concept Index">
|
||
|
<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
|
||
|
<link href="Web.html" rel="up" title="Web">
|
||
|
<link href="Responses.html" rel="next" title="Responses">
|
||
|
<link href="Transfer-Codings.html" rel="prev" title="Transfer Codings">
|
||
|
<style type="text/css">
|
||
|
<!--
|
||
|
a.copiable-link {visibility: hidden; text-decoration: none; line-height: 0em}
|
||
|
div.example {margin-left: 3.2em}
|
||
|
span:hover a.copiable-link {visibility: visible}
|
||
|
strong.def-name {font-family: monospace; font-weight: bold; font-size: larger}
|
||
|
-->
|
||
|
</style>
|
||
|
<link rel="stylesheet" type="text/css" href="https://www.gnu.org/software/gnulib/manual.css">
|
||
|
|
||
|
|
||
|
</head>
|
||
|
|
||
|
<body lang="en">
|
||
|
<div class="subsection-level-extent" id="Requests">
|
||
|
<div class="nav-panel">
|
||
|
<p>
|
||
|
Next: <a href="Responses.html" accesskey="n" rel="next">HTTP Responses</a>, Previous: <a href="Transfer-Codings.html" accesskey="p" rel="prev">Transfer Codings</a>, Up: <a href="Web.html" accesskey="u" rel="up"><abbr class="acronym">HTTP</abbr>, the Web, and All That</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Concept-Index.html" title="Index" rel="index">Index</a>]</p>
|
||
|
</div>
|
||
|
<hr>
|
||
|
<h4 class="subsection" id="HTTP-Requests"><span>7.3.6 HTTP Requests<a class="copiable-link" href="#HTTP-Requests"> ¶</a></span></h4>
|
||
|
|
||
|
<div class="example">
|
||
|
<pre class="example-preformatted">(use-modules (web request))
|
||
|
</pre></div>
|
||
|
|
||
|
<p>The request module contains a data type for HTTP requests.
|
||
|
</p>
|
||
|
<ul class="mini-toc">
|
||
|
<li><a href="#An-Important-Note-on-Character-Sets" accesskey="1">An Important Note on Character Sets</a></li>
|
||
|
<li><a href="#Request-API" accesskey="2">Request API</a></li>
|
||
|
</ul>
|
||
|
<div class="subsubsection-level-extent" id="An-Important-Note-on-Character-Sets">
|
||
|
<h4 class="subsubsection"><span>7.3.6.1 An Important Note on Character Sets<a class="copiable-link" href="#An-Important-Note-on-Character-Sets"> ¶</a></span></h4>
|
||
|
|
||
|
<p>HTTP requests consist of two parts: the request proper, consisting of a
|
||
|
request line and a set of headers, and (optionally) a body. The body
|
||
|
might have a binary content-type, and even in the textual case its
|
||
|
length is specified in bytes, not characters.
|
||
|
</p>
|
||
|
<p>Therefore, HTTP is a fundamentally binary protocol. However the request
|
||
|
line and headers are specified to be in a subset of ASCII, so they can
|
||
|
be treated as text, provided that the port’s encoding is set to an
|
||
|
ASCII-compatible one-byte-per-character encoding. ISO-8859-1 (latin-1)
|
||
|
is just such an encoding, and happens to be very efficient for Guile.
|
||
|
</p>
|
||
|
<p>So what Guile does when reading requests from the wire, or writing them
|
||
|
out, is to set the port’s encoding to latin-1, and treating the request
|
||
|
headers as text.
|
||
|
</p>
|
||
|
<p>The request body is another issue. For binary data, the data is
|
||
|
probably in a bytevector, so we use the R6RS binary output procedures to
|
||
|
write out the binary payload. Textual data usually has to be written
|
||
|
out to some character encoding, usually UTF-8, and then the resulting
|
||
|
bytevector is written out to the port.
|
||
|
</p>
|
||
|
<p>In summary, Guile reads and writes HTTP over latin-1 sockets, without
|
||
|
any loss of generality.
|
||
|
</p>
|
||
|
</div>
|
||
|
<div class="subsubsection-level-extent" id="Request-API">
|
||
|
<h4 class="subsubsection"><span>7.3.6.2 Request API<a class="copiable-link" href="#Request-API"> ¶</a></span></h4>
|
||
|
|
||
|
<dl class="first-deffn">
|
||
|
<dt class="deffn" id="index-request_003f"><span class="category-def">Scheme Procedure: </span><span><strong class="def-name">request?</strong> <var class="def-var-arguments">obj</var><a class="copiable-link" href="#index-request_003f"> ¶</a></span></dt>
|
||
|
<dt class="deffnx def-cmd-deffn" id="index-request_002dmethod"><span class="category-def">Scheme Procedure: </span><span><strong class="def-name">request-method</strong> <var class="def-var-arguments">request</var><a class="copiable-link" href="#index-request_002dmethod"> ¶</a></span></dt>
|
||
|
<dt class="deffnx def-cmd-deffn" id="index-request_002duri"><span class="category-def">Scheme Procedure: </span><span><strong class="def-name">request-uri</strong> <var class="def-var-arguments">request</var><a class="copiable-link" href="#index-request_002duri"> ¶</a></span></dt>
|
||
|
<dt class="deffnx def-cmd-deffn" id="index-request_002dversion"><span class="category-def">Scheme Procedure: </span><span><strong class="def-name">request-version</strong> <var class="def-var-arguments">request</var><a class="copiable-link" href="#index-request_002dversion"> ¶</a></span></dt>
|
||
|
<dt class="deffnx def-cmd-deffn" id="index-request_002dheaders"><span class="category-def">Scheme Procedure: </span><span><strong class="def-name">request-headers</strong> <var class="def-var-arguments">request</var><a class="copiable-link" href="#index-request_002dheaders"> ¶</a></span></dt>
|
||
|
<dt class="deffnx def-cmd-deffn" id="index-request_002dmeta"><span class="category-def">Scheme Procedure: </span><span><strong class="def-name">request-meta</strong> <var class="def-var-arguments">request</var><a class="copiable-link" href="#index-request_002dmeta"> ¶</a></span></dt>
|
||
|
<dt class="deffnx def-cmd-deffn" id="index-request_002dport"><span class="category-def">Scheme Procedure: </span><span><strong class="def-name">request-port</strong> <var class="def-var-arguments">request</var><a class="copiable-link" href="#index-request_002dport"> ¶</a></span></dt>
|
||
|
<dd><p>A predicate and field accessors for the request type. The fields are as
|
||
|
follows:
|
||
|
</p><dl class="table">
|
||
|
<dt><code class="code">method</code></dt>
|
||
|
<dd><p>The HTTP method, for example, <code class="code">GET</code>.
|
||
|
</p></dd>
|
||
|
<dt><code class="code">uri</code></dt>
|
||
|
<dd><p>The URI as a URI record.
|
||
|
</p></dd>
|
||
|
<dt><code class="code">version</code></dt>
|
||
|
<dd><p>The HTTP version pair, like <code class="code">(1 . 1)</code>.
|
||
|
</p></dd>
|
||
|
<dt><code class="code">headers</code></dt>
|
||
|
<dd><p>The request headers, as an alist of parsed values.
|
||
|
</p></dd>
|
||
|
<dt><code class="code">meta</code></dt>
|
||
|
<dd><p>An arbitrary alist of other data, for example information returned in
|
||
|
the <code class="code">sockaddr</code> from <code class="code">accept</code> (see <a class="pxref" href="Network-Sockets-and-Communication.html">Network Sockets and Communication</a>).
|
||
|
</p></dd>
|
||
|
<dt><code class="code">port</code></dt>
|
||
|
<dd><p>The port on which to read or write a request body, if any.
|
||
|
</p></dd>
|
||
|
</dl>
|
||
|
</dd></dl>
|
||
|
|
||
|
<dl class="first-deffn">
|
||
|
<dt class="deffn" id="index-read_002drequest"><span class="category-def">Scheme Procedure: </span><span><strong class="def-name">read-request</strong> <var class="def-var-arguments">port [meta=’()]</var><a class="copiable-link" href="#index-read_002drequest"> ¶</a></span></dt>
|
||
|
<dd><p>Read an HTTP request from <var class="var">port</var>, optionally attaching the given
|
||
|
metadata, <var class="var">meta</var>.
|
||
|
</p>
|
||
|
<p>As a side effect, sets the encoding on <var class="var">port</var> to ISO-8859-1
|
||
|
(latin-1), so that reading one character reads one byte. See the
|
||
|
discussion of character sets above, for more information.
|
||
|
</p>
|
||
|
<p>Note that the body is not part of the request. Once you have read a
|
||
|
request, you may read the body separately, and likewise for writing
|
||
|
requests.
|
||
|
</p></dd></dl>
|
||
|
|
||
|
<dl class="first-deffn">
|
||
|
<dt class="deffn" id="index-build_002drequest"><span class="category-def">Scheme Procedure: </span><span><strong class="def-name">build-request</strong> <var class="def-var-arguments">uri [#:method=’GET] [#:version=’(1 . 1)] [#:headers=’()] [#:port=#f] [#:meta=’()] [#:validate-headers?=#t]</var><a class="copiable-link" href="#index-build_002drequest"> ¶</a></span></dt>
|
||
|
<dd><p>Construct an HTTP request object. If <var class="var">validate-headers?</var> is true,
|
||
|
the headers are each run through their respective validators.
|
||
|
</p></dd></dl>
|
||
|
|
||
|
<dl class="first-deffn">
|
||
|
<dt class="deffn" id="index-write_002drequest"><span class="category-def">Scheme Procedure: </span><span><strong class="def-name">write-request</strong> <var class="def-var-arguments">r port</var><a class="copiable-link" href="#index-write_002drequest"> ¶</a></span></dt>
|
||
|
<dd><p>Write the given HTTP request to <var class="var">port</var>.
|
||
|
</p>
|
||
|
<p>Return a new request, whose <code class="code">request-port</code> will continue writing
|
||
|
on <var class="var">port</var>, perhaps using some transfer encoding.
|
||
|
</p></dd></dl>
|
||
|
|
||
|
<dl class="first-deffn">
|
||
|
<dt class="deffn" id="index-read_002drequest_002dbody"><span class="category-def">Scheme Procedure: </span><span><strong class="def-name">read-request-body</strong> <var class="def-var-arguments">r</var><a class="copiable-link" href="#index-read_002drequest_002dbody"> ¶</a></span></dt>
|
||
|
<dd><p>Reads the request body from <var class="var">r</var>, as a bytevector. Return <code class="code">#f</code>
|
||
|
if there was no request body.
|
||
|
</p></dd></dl>
|
||
|
|
||
|
<dl class="first-deffn">
|
||
|
<dt class="deffn" id="index-write_002drequest_002dbody"><span class="category-def">Scheme Procedure: </span><span><strong class="def-name">write-request-body</strong> <var class="def-var-arguments">r bv</var><a class="copiable-link" href="#index-write_002drequest_002dbody"> ¶</a></span></dt>
|
||
|
<dd><p>Write <var class="var">bv</var>, a bytevector, to the port corresponding to the HTTP
|
||
|
request <var class="var">r</var>.
|
||
|
</p></dd></dl>
|
||
|
|
||
|
<p>The various headers that are typically associated with HTTP requests may
|
||
|
be accessed with these dedicated accessors. See <a class="xref" href="HTTP-Headers.html">HTTP Headers</a>, for
|
||
|
more information on the format of parsed headers.
|
||
|
</p>
|
||
|
<dl class="first-deffn">
|
||
|
<dt class="deffn" id="index-request_002daccept"><span class="category-def">Scheme Procedure: </span><span><strong class="def-name">request-accept</strong> <var class="def-var-arguments">request [default=’()]</var><a class="copiable-link" href="#index-request_002daccept"> ¶</a></span></dt>
|
||
|
<dt class="deffnx def-cmd-deffn" id="index-request_002daccept_002dcharset"><span class="category-def">Scheme Procedure: </span><span><strong class="def-name">request-accept-charset</strong> <var class="def-var-arguments">request [default=’()]</var><a class="copiable-link" href="#index-request_002daccept_002dcharset"> ¶</a></span></dt>
|
||
|
<dt class="deffnx def-cmd-deffn" id="index-request_002daccept_002dencoding"><span class="category-def">Scheme Procedure: </span><span><strong class="def-name">request-accept-encoding</strong> <var class="def-var-arguments">request [default=’()]</var><a class="copiable-link" href="#index-request_002daccept_002dencoding"> ¶</a></span></dt>
|
||
|
<dt class="deffnx def-cmd-deffn" id="index-request_002daccept_002dlanguage"><span class="category-def">Scheme Procedure: </span><span><strong class="def-name">request-accept-language</strong> <var class="def-var-arguments">request [default=’()]</var><a class="copiable-link" href="#index-request_002daccept_002dlanguage"> ¶</a></span></dt>
|
||
|
<dt class="deffnx def-cmd-deffn" id="index-request_002dallow"><span class="category-def">Scheme Procedure: </span><span><strong class="def-name">request-allow</strong> <var class="def-var-arguments">request [default=’()]</var><a class="copiable-link" href="#index-request_002dallow"> ¶</a></span></dt>
|
||
|
<dt class="deffnx def-cmd-deffn" id="index-request_002dauthorization"><span class="category-def">Scheme Procedure: </span><span><strong class="def-name">request-authorization</strong> <var class="def-var-arguments">request [default=#f]</var><a class="copiable-link" href="#index-request_002dauthorization"> ¶</a></span></dt>
|
||
|
<dt class="deffnx def-cmd-deffn" id="index-request_002dcache_002dcontrol"><span class="category-def">Scheme Procedure: </span><span><strong class="def-name">request-cache-control</strong> <var class="def-var-arguments">request [default=’()]</var><a class="copiable-link" href="#index-request_002dcache_002dcontrol"> ¶</a></span></dt>
|
||
|
<dt class="deffnx def-cmd-deffn" id="index-request_002dconnection"><span class="category-def">Scheme Procedure: </span><span><strong class="def-name">request-connection</strong> <var class="def-var-arguments">request [default=’()]</var><a class="copiable-link" href="#index-request_002dconnection"> ¶</a></span></dt>
|
||
|
<dt class="deffnx def-cmd-deffn" id="index-request_002dcontent_002dencoding"><span class="category-def">Scheme Procedure: </span><span><strong class="def-name">request-content-encoding</strong> <var class="def-var-arguments">request [default=’()]</var><a class="copiable-link" href="#index-request_002dcontent_002dencoding"> ¶</a></span></dt>
|
||
|
<dt class="deffnx def-cmd-deffn" id="index-request_002dcontent_002dlanguage"><span class="category-def">Scheme Procedure: </span><span><strong class="def-name">request-content-language</strong> <var class="def-var-arguments">request [default=’()]</var><a class="copiable-link" href="#index-request_002dcontent_002dlanguage"> ¶</a></span></dt>
|
||
|
<dt class="deffnx def-cmd-deffn" id="index-request_002dcontent_002dlength"><span class="category-def">Scheme Procedure: </span><span><strong class="def-name">request-content-length</strong> <var class="def-var-arguments">request [default=#f]</var><a class="copiable-link" href="#index-request_002dcontent_002dlength"> ¶</a></span></dt>
|
||
|
<dt class="deffnx def-cmd-deffn" id="index-request_002dcontent_002dlocation"><span class="category-def">Scheme Procedure: </span><span><strong class="def-name">request-content-location</strong> <var class="def-var-arguments">request [default=#f]</var><a class="copiable-link" href="#index-request_002dcontent_002dlocation"> ¶</a></span></dt>
|
||
|
<dt class="deffnx def-cmd-deffn" id="index-request_002dcontent_002dmd5"><span class="category-def">Scheme Procedure: </span><span><strong class="def-name">request-content-md5</strong> <var class="def-var-arguments">request [default=#f]</var><a class="copiable-link" href="#index-request_002dcontent_002dmd5"> ¶</a></span></dt>
|
||
|
<dt class="deffnx def-cmd-deffn" id="index-request_002dcontent_002drange"><span class="category-def">Scheme Procedure: </span><span><strong class="def-name">request-content-range</strong> <var class="def-var-arguments">request [default=#f]</var><a class="copiable-link" href="#index-request_002dcontent_002drange"> ¶</a></span></dt>
|
||
|
<dt class="deffnx def-cmd-deffn" id="index-request_002dcontent_002dtype"><span class="category-def">Scheme Procedure: </span><span><strong class="def-name">request-content-type</strong> <var class="def-var-arguments">request [default=#f]</var><a class="copiable-link" href="#index-request_002dcontent_002dtype"> ¶</a></span></dt>
|
||
|
<dt class="deffnx def-cmd-deffn" id="index-request_002ddate"><span class="category-def">Scheme Procedure: </span><span><strong class="def-name">request-date</strong> <var class="def-var-arguments">request [default=#f]</var><a class="copiable-link" href="#index-request_002ddate"> ¶</a></span></dt>
|
||
|
<dt class="deffnx def-cmd-deffn" id="index-request_002dexpect"><span class="category-def">Scheme Procedure: </span><span><strong class="def-name">request-expect</strong> <var class="def-var-arguments">request [default=’()]</var><a class="copiable-link" href="#index-request_002dexpect"> ¶</a></span></dt>
|
||
|
<dt class="deffnx def-cmd-deffn" id="index-request_002dexpires"><span class="category-def">Scheme Procedure: </span><span><strong class="def-name">request-expires</strong> <var class="def-var-arguments">request [default=#f]</var><a class="copiable-link" href="#index-request_002dexpires"> ¶</a></span></dt>
|
||
|
<dt class="deffnx def-cmd-deffn" id="index-request_002dfrom"><span class="category-def">Scheme Procedure: </span><span><strong class="def-name">request-from</strong> <var class="def-var-arguments">request [default=#f]</var><a class="copiable-link" href="#index-request_002dfrom"> ¶</a></span></dt>
|
||
|
<dt class="deffnx def-cmd-deffn" id="index-request_002dhost"><span class="category-def">Scheme Procedure: </span><span><strong class="def-name">request-host</strong> <var class="def-var-arguments">request [default=#f]</var><a class="copiable-link" href="#index-request_002dhost"> ¶</a></span></dt>
|
||
|
<dt class="deffnx def-cmd-deffn" id="index-request_002dif_002dmatch"><span class="category-def">Scheme Procedure: </span><span><strong class="def-name">request-if-match</strong> <var class="def-var-arguments">request [default=#f]</var><a class="copiable-link" href="#index-request_002dif_002dmatch"> ¶</a></span></dt>
|
||
|
<dt class="deffnx def-cmd-deffn" id="index-request_002dif_002dmodified_002dsince"><span class="category-def">Scheme Procedure: </span><span><strong class="def-name">request-if-modified-since</strong> <var class="def-var-arguments">request [default=#f]</var><a class="copiable-link" href="#index-request_002dif_002dmodified_002dsince"> ¶</a></span></dt>
|
||
|
<dt class="deffnx def-cmd-deffn" id="index-request_002dif_002dnone_002dmatch"><span class="category-def">Scheme Procedure: </span><span><strong class="def-name">request-if-none-match</strong> <var class="def-var-arguments">request [default=#f]</var><a class="copiable-link" href="#index-request_002dif_002dnone_002dmatch"> ¶</a></span></dt>
|
||
|
<dt class="deffnx def-cmd-deffn" id="index-request_002dif_002drange"><span class="category-def">Scheme Procedure: </span><span><strong class="def-name">request-if-range</strong> <var class="def-var-arguments">request [default=#f]</var><a class="copiable-link" href="#index-request_002dif_002drange"> ¶</a></span></dt>
|
||
|
<dt class="deffnx def-cmd-deffn" id="index-request_002dif_002dunmodified_002dsince"><span class="category-def">Scheme Procedure: </span><span><strong class="def-name">request-if-unmodified-since</strong> <var class="def-var-arguments">request [default=#f]</var><a class="copiable-link" href="#index-request_002dif_002dunmodified_002dsince"> ¶</a></span></dt>
|
||
|
<dt class="deffnx def-cmd-deffn" id="index-request_002dlast_002dmodified"><span class="category-def">Scheme Procedure: </span><span><strong class="def-name">request-last-modified</strong> <var class="def-var-arguments">request [default=#f]</var><a class="copiable-link" href="#index-request_002dlast_002dmodified"> ¶</a></span></dt>
|
||
|
<dt class="deffnx def-cmd-deffn" id="index-request_002dmax_002dforwards"><span class="category-def">Scheme Procedure: </span><span><strong class="def-name">request-max-forwards</strong> <var class="def-var-arguments">request [default=#f]</var><a class="copiable-link" href="#index-request_002dmax_002dforwards"> ¶</a></span></dt>
|
||
|
<dt class="deffnx def-cmd-deffn" id="index-request_002dpragma"><span class="category-def">Scheme Procedure: </span><span><strong class="def-name">request-pragma</strong> <var class="def-var-arguments">request [default=’()]</var><a class="copiable-link" href="#index-request_002dpragma"> ¶</a></span></dt>
|
||
|
<dt class="deffnx def-cmd-deffn" id="index-request_002dproxy_002dauthorization"><span class="category-def">Scheme Procedure: </span><span><strong class="def-name">request-proxy-authorization</strong> <var class="def-var-arguments">request [default=#f]</var><a class="copiable-link" href="#index-request_002dproxy_002dauthorization"> ¶</a></span></dt>
|
||
|
<dt class="deffnx def-cmd-deffn" id="index-request_002drange"><span class="category-def">Scheme Procedure: </span><span><strong class="def-name">request-range</strong> <var class="def-var-arguments">request [default=#f]</var><a class="copiable-link" href="#index-request_002drange"> ¶</a></span></dt>
|
||
|
<dt class="deffnx def-cmd-deffn" id="index-request_002dreferer"><span class="category-def">Scheme Procedure: </span><span><strong class="def-name">request-referer</strong> <var class="def-var-arguments">request [default=#f]</var><a class="copiable-link" href="#index-request_002dreferer"> ¶</a></span></dt>
|
||
|
<dt class="deffnx def-cmd-deffn" id="index-request_002dte"><span class="category-def">Scheme Procedure: </span><span><strong class="def-name">request-te</strong> <var class="def-var-arguments">request [default=#f]</var><a class="copiable-link" href="#index-request_002dte"> ¶</a></span></dt>
|
||
|
<dt class="deffnx def-cmd-deffn" id="index-request_002dtrailer"><span class="category-def">Scheme Procedure: </span><span><strong class="def-name">request-trailer</strong> <var class="def-var-arguments">request [default=’()]</var><a class="copiable-link" href="#index-request_002dtrailer"> ¶</a></span></dt>
|
||
|
<dt class="deffnx def-cmd-deffn" id="index-request_002dtransfer_002dencoding"><span class="category-def">Scheme Procedure: </span><span><strong class="def-name">request-transfer-encoding</strong> <var class="def-var-arguments">request [default=’()]</var><a class="copiable-link" href="#index-request_002dtransfer_002dencoding"> ¶</a></span></dt>
|
||
|
<dt class="deffnx def-cmd-deffn" id="index-request_002dupgrade"><span class="category-def">Scheme Procedure: </span><span><strong class="def-name">request-upgrade</strong> <var class="def-var-arguments">request [default=’()]</var><a class="copiable-link" href="#index-request_002dupgrade"> ¶</a></span></dt>
|
||
|
<dt class="deffnx def-cmd-deffn" id="index-request_002duser_002dagent"><span class="category-def">Scheme Procedure: </span><span><strong class="def-name">request-user-agent</strong> <var class="def-var-arguments">request [default=#f]</var><a class="copiable-link" href="#index-request_002duser_002dagent"> ¶</a></span></dt>
|
||
|
<dt class="deffnx def-cmd-deffn" id="index-request_002dvia"><span class="category-def">Scheme Procedure: </span><span><strong class="def-name">request-via</strong> <var class="def-var-arguments">request [default=’()]</var><a class="copiable-link" href="#index-request_002dvia"> ¶</a></span></dt>
|
||
|
<dt class="deffnx def-cmd-deffn" id="index-request_002dwarning"><span class="category-def">Scheme Procedure: </span><span><strong class="def-name">request-warning</strong> <var class="def-var-arguments">request [default=’()]</var><a class="copiable-link" href="#index-request_002dwarning"> ¶</a></span></dt>
|
||
|
<dd><p>Return the given request header, or <var class="var">default</var> if none was present.
|
||
|
</p></dd></dl>
|
||
|
|
||
|
<dl class="first-deffn">
|
||
|
<dt class="deffn" id="index-request_002dabsolute_002duri"><span class="category-def">Scheme Procedure: </span><span><strong class="def-name">request-absolute-uri</strong> <var class="def-var-arguments">r [default-host=#f] [default-port=#f] [default-scheme=#f]</var><a class="copiable-link" href="#index-request_002dabsolute_002duri"> ¶</a></span></dt>
|
||
|
<dd><p>A helper routine to determine the absolute URI of a request, using the
|
||
|
<code class="code">host</code> header and the default scheme, host and port. If there is
|
||
|
no default scheme and the URI is not itself absolute, an error is
|
||
|
signaled.
|
||
|
</p></dd></dl>
|
||
|
|
||
|
</div>
|
||
|
</div>
|
||
|
<hr>
|
||
|
<div class="nav-panel">
|
||
|
<p>
|
||
|
Next: <a href="Responses.html">HTTP Responses</a>, Previous: <a href="Transfer-Codings.html">Transfer Codings</a>, Up: <a href="Web.html"><abbr class="acronym">HTTP</abbr>, the Web, and All That</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Concept-Index.html" title="Index" rel="index">Index</a>]</p>
|
||
|
</div>
|
||
|
|
||
|
|
||
|
|
||
|
</body>
|
||
|
</html>
|