summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/tools/wptserve/docs/pipes.rst
diff options
context:
space:
mode:
authorMoonchild <moonchild@palemoon.org>2021-02-25 01:03:57 +0000
committerMoonchild <moonchild@palemoon.org>2021-02-25 01:03:57 +0000
commitceadffab6b357723981a429e11222daf6cd6dcfb (patch)
tree5603053048d6a460f79b22bdf165fb74d32d39b0 /testing/web-platform/tests/tools/wptserve/docs/pipes.rst
parent14fb2f966e9b54598c451e3cb35b4aa0480dafed (diff)
parentad5a13bd501e379517da1a944c104a11d951a3f5 (diff)
downloadUXP-RC_20210225.tar
UXP-RC_20210225.tar.gz
UXP-RC_20210225.tar.lz
UXP-RC_20210225.tar.xz
UXP-RC_20210225.zip
Merge branch 'master' into releaseRC_20210225
Diffstat (limited to 'testing/web-platform/tests/tools/wptserve/docs/pipes.rst')
-rw-r--r--testing/web-platform/tests/tools/wptserve/docs/pipes.rst157
1 files changed, 0 insertions, 157 deletions
diff --git a/testing/web-platform/tests/tools/wptserve/docs/pipes.rst b/testing/web-platform/tests/tools/wptserve/docs/pipes.rst
deleted file mode 100644
index c606140d4..000000000
--- a/testing/web-platform/tests/tools/wptserve/docs/pipes.rst
+++ /dev/null
@@ -1,157 +0,0 @@
-Pipes
-======
-
-Pipes are functions that may be used when serving files to alter parts
-of the response. These are invoked by adding a pipe= query parameter
-taking a | separated list of pipe functions and parameters. The pipe
-functions are applied to the response from left to right. For example::
-
- GET /sample.txt?pipe=slice(1,200)|status(404).
-
-This would serve bytes 1 to 199, inclusive, of foo.txt with the HTTP status
-code 404.
-
-There are several built-in pipe functions, and it is possible to add
-more using the `@pipe` decorator on a function, if required.
-
-.. note::
- Because of the way pipes compose, using some pipe functions prevents the
- content-length of the response from being known in advance. In these cases
- the server will close the connection to indicate the end of the response,
- preventing the use of HTTP 1.1 keepalive.
-
-Built-In Pipes
---------------
-
-sub
-~~~
-
-Used to substitute variables from the server environment, or from the
-request into the response.
-
-Substitutions are marked in a file using a block delimited by `{{`
-and `}}`. Inside the block the following variables are available:
-
- `{{host}}`
- The host name of the server excluding any subdomain part.
-
- `{{domains[]}}`
- The domain name of a particular subdomain
- e.g. `{{domains[www]}}` for the `www` subdomain.
-
- `{{ports[][]}}`
- The port number of servers, by protocol
- e.g. `{{ports[http][0]}}` for the first (and, depending on setup,
- possibly only) http server
-
- `{{headers[]}}`
- The HTTP headers in the request
- e.g. `{{headers[X-Test]}}` for a hypothetical `X-Test` header.
-
- `{{GET[]}}`
- The query parameters for the request
- e.g. `{{GET[id]}}` for an id parameter sent with the request.
-
-So, for example, to write a javascript file called `xhr.js` that
-depends on the host name of the server, without hardcoding, one might
-write::
-
- var server_url = http://{{host}}:{{ports[http][0]}}/path/to/resource;
- //Create the actual XHR and so on
-
-The file would then be included as:
-
- <script src="xhr.js?pipe=sub"></script>
-
-This pipe can also be enabled by using a filename `*.sub.ext`, e.g. the file above could be called `xhr.sub.js`.
-
-status
-~~~~~~
-
-Used to set the HTTP status of the response, for example::
-
- example.js?pipe=status(410)
-
-headers
-~~~~~~~
-
-Used to add or replace http headers in the response. Takes two or
-three arguments; the header name, the header value and whether to
-append the header rather than replace an existing header (default:
-False). So, for example, a request for::
-
- example.html?pipe=header(Content-Type,text/plain)
-
-causes example.html to be returned with a text/plain content type
-whereas::
-
- example.html?pipe=header(Content-Type,text/plain,True)
-
-Will cause example.html to be returned with both text/html and
-text/plain content-type headers.
-
-slice
-~~~~~
-
-Used to send only part of a response body. Takes the start and,
-optionally, end bytes as arguments, although either can be null to
-indicate the start or end of the file, respectively. So for example::
-
- example.txt?pipe=slice(10,20)
-
-Would result in a response with a body containing 10 bytes of
-example.txt including byte 10 but excluding byte 20.
-
-::
-
- example.txt?pipe=slice(10)
-
-Would cause all bytes from byte 10 of example.txt to be sent, but::
-
- example.txt?pipe=slice(null,20)
-
-Would send the first 20 bytes of example.txt.
-
-trickle
-~~~~~~~
-
-.. note::
- Using this function will force a connection close.
-
-Used to send the body of a response in chunks with delays. Takes a
-single argument that is a microsyntax consisting of colon-separated
-commands. There are three types of commands:
-
-* Bare numbers represent a number of bytes to send
-
-* Numbers prefixed `d` indicate a delay in seconds
-
-* Numbers prefixed `r` must only appear at the end of the command, and
- indicate that the preceding N items must be repeated until there is
- no more content to send. The number of items to repeat must be even.
-
-In the absence of a repetition command, the entire remainder of the content is
-sent at once when the command list is exhausted. So for example::
-
- example.txt?pipe=trickle(d1)
-
-causes a 1s delay before sending the entirety of example.txt.
-
-::
-
- example.txt?pipe=trickle(100:d1)
-
-causes 100 bytes of example.txt to be sent, followed by a 1s delay,
-and then the remainder of the file to be sent. On the other hand::
-
- example.txt?pipe=trickle(100:d1:r2)
-
-Will cause the file to be sent in 100 byte chunks separated by a 1s
-delay until the whole content has been sent.
-
-
-:mod:`Interface <pipes>`
-------------------------
-
-.. automodule:: wptserve.pipes
- :members: