emerging-ezhttp
Releases (14)
-
0.21.0.0 indexed
-
0.20.0.0 unindexed
-
0.19.0.0 unindexed
-
0.18.0.0 unindexed
-
0.17.0.0 unindexed
-
0.16.0.0 unindexed
-
0.15.0.0 unindexed
-
0.14.0.0 unindexed
-
0.13.0.0 unindexed
-
0.12.0.0 unindexed
-
0.11.0.0 unindexed
-
0.10.0.0 unindexed
-
0.9.0.0 invalid
expected a fresh constructor name (duplicate declaration: Text)
-
0.8.0.0 invalid
expected a fresh constructor name (duplicate declaration: Text)
Definitions (909)
src/form.bend
- def form.badtypewhether any part's content type holds a CR or an LF
- def form.typethe Content-Type field value of a form with this boundary (RFC 7578 §4.1)
- def form.check.typethe plan once its content types are checked
- def form.check.clashthe plan once its parts are checked against the delimiter
- def form.checkthe plan once its boundary is checked
- def form.plana multipart/form-data body's plan with this boundary and these parts, or why not (SPEC.md HTTP-FORM)
- def form.foundwhether a search found the delimiter, with the bytes handed back
- def form.split.filea file part once its bytes are searched: the part the plan sees, onto the rest, and its bytes kept in order
- def form.split.fielda field part onto the rest
- def form.splitthe parts as the plan sees them, and the files' bytes in order; `d` is the delimiter's octets, one character each
- def form.runsthe body's runs as packed octets, each file's bytes in its place
- def form.builda plan as the form it builds
- def form.builta planned form once the files are searched
- def form.bodya multipart/form-data body with this boundary and these parts, or why not (SPEC.md HTTP-FORM, HTTP-TRUST-8)
src/html.bend
- def one.sqone character that is not `&`, `<`, `>` or `"`, as `'` or as itself
- def one.dqone character that is not `&`, `<` or `>`
- def one.gtone character that is not `&` or `<`
- def one.ltone character that is not `&`
- def one.ampone character, once it is known whether it is `&`
- def oneone character as it is escaped, followed by `rest`
- def escape.ontoa string escaped, each character in turn, followed by `rest`
- def escapea string escaped for HTML text or a quoted attribute value
src/http.bend
- type Cuta string divided at the first occurrence of a pattern, or not divided at all
- type Headerone header field name and value (RFC 9110 §5 / RFC 9112 §5)
- type Replywhat a response turned out to be: status, headers, framed body — or why not
- def firstthe first of a list of pieces, "" when there are none
- def secondthe second of a list of pieces, "" when there is no second
- def divide.pushone char of the divide, put back on the front of what the rest found
- def divide.stepone step of the walk; rest is a thunk so Bool.pick does not force recursion
- def divide.gothe walk: stop at the first hit
- def dividea string in two halves around the first occurrence of a pattern
- def hex.ofthe value of one hex digit's code point, or 16 when it is not one
- def hex.valthe value of one hex digit, or 16 when the char is not one
- def hex.stepone step of the hex read
- def hex.gothe hex digits at the front of a string, read until one is not a digit
- def hexlenchunk-size from a chunk header (RFC 9112 §7.1); extensions after `;` ignored
- def hex.digitwhether a character is a hex digit
- def hex.restthe rest of a hex token once the first digit is known
- def hex.wella chunk-size token is one or more hex digits (RFC 9112 §7.1)
- def chunks.tokenthe chunk-size token, extensions after `;` removed
- def utf8.widthoctets one code point takes in UTF-8, for a text written onto the wire (RFC 3629 §3).
- def utf8.lenhow many octets of UTF-8 a text is
- def octs.widthoctets one received character stands for: one
- def octs.lenhow many octets a received text is
- def octs.take.stepone step of the take
- def octs.takethe front of a string that is this many bytes of UTF-8
- def octs.drop.stepone step of the drop
- def octs.dropthe rest of a string after this many bytes of UTF-8
- def digits.val.ofa decimal digit's value, or 10 when the character is not a digit
- def digits.vala decimal digit's value, or 10 when the character is not a digit
- def digits.stepaccept one digit and keep reading, or stop when it is not a digit
- def digits.goread a decimal token without building Base's Nat.read ceiling
- def digits.reada short decimal (Content-Length, max-age).
- def octs.has.stepone step of the count: a character wider than what is still asked for means the string is longer
- def octs.haswhether a string is at least this many bytes of UTF-8, walking no further than that many (octs.len walks all of it)
- def chunks.readya non-zero chunk has its data and the following CRLF
- type Nextthe next scan step, or why this chunk header is not usable
- def chunks.next.ofone chunk header: reject non-hex sizes, stop on the 0 chunk, else continue
- def chunks.next.hexhex check, then the length
- def chunks.nextclassify one chunk header (RFC 9112 §7.1)
- type Sizewhat a chunk-size line says, before the octets after it are looked at (RFC 9112 §7.1): not a size, the last chunk, or a chunk of n octets
- def chunk.size.na size that is hex: the last chunk when it is 0
- def chunk.size.ofa chunk-size line once it is known whether its size is hex
- def chunk.sizewhat a chunk-size line says (extensions after `;` ignored)
- def chunk.shortwhy a chunk whose octets and CRLF have not all arrived is torn
- def chunk.next.dataa chunk of n octets: on to the next chunk header once its octets and CRLF are there
- def chunk.nextthe decoder's step for what a chunk-size line says and the text after it
- def chunks.scan.stepapply one scan step
- def chunks.scanNone when every chunk size is hex and the 0 chunk is reached
- def chunks.morea zero chunk ends the body; anything after it is a trailer (RFC 9112 §7.1)
- def chunksa chunked body put back together (RFC 9112 §7.1)
- def dechunka Transfer-Encoding: chunked body as the octets it stands for
- def head.hitwhether a head line names this header (field names are case-insensitive: RFC 9110 §5.1)
- def head.pickthis line's value when it is the header asked for
- def head.gothe value a head gave a header, "" when it gave none
- def head.valuethis line's trimmed field value
- def head.values.conscons a value when the line is the header asked for
- def head.valuesevery value a head gave a header, in order (RFC 9112 §6.3 lists Content-Length)
- def field.foldeda field value still holding a line break is obs-fold, which we refuse
- def field.keepa trimmed field value, or none when it still contains obs-fold
- def head.from_keptname and trimmed value from a cut at the first colon
- def head.from_cutone header line as a Header, or none when it has no colon
- def head.lineone header line as a Header, or none when it has no colon
- def head.consprepend a parsed header when present
- def head.listheader lines after the status line as a list of fields
- def header.lineone request header line
- def headers.find.pickthe value when this field is the one asked for
- def headers.find.gocase-insensitive field lookup (RFC 9110 §5.1)
- def headers.findthe value of a field, "" when it is absent
- def headers.linesextra headers rendered in order
- def clen.fieldthe Content-Length field when the body is not empty (RFC 9110 §8.6)
- def clen.lineContent-Length line when the body is not empty (RFC 9110 §8.6)
- type Fieldthe fields a request names: the ones ezhttp writes a default for, the ones it always computes, and every other (SPEC.md HTTP-CLI-8)
- def field.ranka field's place in the order above
- def field.samewhether two fields are the same one
- def field.of.clena lower-case name that is not content-length
- def field.of.conna lower-case name that is not connection
- def field.of.accepta lower-case name that is not accept
- def field.of.agenta lower-case name that is not user-agent
- def field.of.hosta lower-case name that is not host