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/http.bend
- def field.ofthe field a lower-case name names
- def field.namethe field a name names, compared case-insensitively (RFC 9110 §5.1)
- def header.fieldthe field a header line names
- def fields.putkeep a header in front of the rest, or not
- def fields.ofthe headers that name one field, in order
- def fields.orthe caller's fields of a name, or the default when it gave none
- def request.fields.na request's header fields for a body of n octets: Host, User-Agent and Accept (the caller's, or the default), Connection: close, the caller's other fields, Content-Length.
- def request.fieldsa request's header fields for a text body: the fields for its UTF-8 octets
- def requesta request-line and headers (RFC 9112 §3, §5).
- def port.dfltthe port a scheme implies: 443 for a secure one, 80 otherwise (RFC 9110 §4.2.1, §4.2.2)
- def authority.ofthe Host field value once it is known whether the port is the default
- def authoritythe Host field value: the host, and the port after a colon unless it is the scheme's default (RFC 9110 §7.2)
- def request.atthe request a client sends to host and port, over TLS when secure
- def request.headthe request text for a body of n octets that is sent after it as its own octets: the request line, the fields for n octets, and the blank line
- def request.head.atthe request text a client sends to host and port ahead of n octets
- def get_reqGET with optional headers
- def head_reqHEAD with optional headers (RFC 9110 §9.3.2): same as GET, no body
- def post_reqPOST with body and optional headers
- def put_reqPUT with body and optional headers (RFC 9110 §9.3.4)
- def delete_reqDELETE with body and optional headers (RFC 9110 §9.3.5)
- def options_reqOPTIONS with optional headers (RFC 9110 §9.3.7).
- def method.safeGET, HEAD, and OPTIONS are safe (RFC 9110 §9.2.1).
- def method.idempotentsafe methods, plus PUT and DELETE, are idempotent (RFC 9110 §9.2.2)
- def token.ok.stepthe rest of a token once this character is known
- def token.oka bearer token has no whitespace (RFC 6750 §2.1)
- def target.originorigin-form request-target: absolute-path, optional query (RFC 9112 §3.2.1)
- def target.asteriskasterisk-form is only `*` and only for OPTIONS (RFC 9112 §3.2.4)
- def target.formorigin-form, or OPTIONS asterisk-form
- type Framehow a response's body is framed
- def parse.shorta body against the length its head promised
- def parse.clena body framed by Content-Length (RFC 9110 §8.6 / RFC 9112 §6.3)
- def parse.lenContent-Length when present; else the rest of the connection is the body
- def clen.agree.stepevery Content-Length text equals the first
- def clen.agree.gothe tail of a Content-Length list against the first value
- def clen.agreeduplicate Content-Length fields must be the same digits (RFC 9112 §6.3)
- def clen.anywhether any Content-Length field was present
- def parse.chunkeda chunked body, or why the chunk framing was rejected
- def parse.chunksscan chunk sizes, then decode when they are hex and closed by 0
- type Planwhat a final head says of its response, before its body is touched: torn, or its status, its fields and how its body is framed
- def plan.clashchunked framing, unless a Content-Length is there too (RFC 9112 §6.3 item 3)
- def plan.lenContent-Length when it reads as a number; else the rest of the connection
- def plan.techunked framing, or Content-Length, or the rest of the connection
- def plan.agreedisagreeing Content-Length values are torn before framing
- def head.plana final head's plan, its status line read (RFC 9112 §4, §6.3)
- def plan.bodya body under its framing, as the text parse reads it
- def plan.texta plan carried out on the text after its head
- def parse.statusa head whose status line has been read (RFC 9112 §4)
- def status.ofthe status code a head's first line names, if it names one (RFC 9112 §4)
- def parse.headthe head's lines, with the status line read off the first
- def parse.cuta response divided into its head and everything after the blank line (RFC 9112 §2.1: header section ends at empty line)
- def parsethe status, headers, and body of a raw response
- def showa parsed response on one line, for a test to read
- type Requesta request that came apart, or the reason it would not (RFC 9112 §3)
- type Phrasea status code and its reason-phrase
- def reasonsthe reason-phrases RFC 9110 §15 names (RFC 6585 §4 for 429)
- def reason.pickthis phrase when its code is the one asked for, else the rest's
- def reason.inthe phrase a list gives a code, "" when it gives none
- def reasonthe reason-phrase for a status code (RFC 9112 §4); "" for one not listed
- def respond.head.ontothe head of a reply whose body is n octets, onto what follows it (SPEC.md HTTP-SRV-6)
- def respond.headthe head of a reply whose body is n octets
- def respondstatus-line + headers + body (RFC 9112 §4, §5).
- def status.nocontent204 and 304 are terminated by the header section (RFC 9110 §15.3.5, §15.4.5)
- def te.linethe Transfer-Encoding line of a streamed reply, when it has a body
- def respond.streamthe head of a streamed reply: chunked unless the status has no body (RFC 9112 §6.1, §7.1; SPEC.md HTTP-SRV-7)
- def hex.nibone lowercase hex digit of a value below 16
- def hex.atthe 4 bits of n at this shift as a hex digit
- def chunk.linea chunk's size as 8 lowercase hex digits, then CRLF (RFC 9112 §7.1)
- type Chunkhow a chunk of octets is framed: not at all when it is empty, which would end the body, else its size line before it and CRLF after
- def chunk.frame.ofthe frame of a chunk once it is known whether it is empty
- def chunk.framethe frame of a chunk of n octets (SPEC.md HTTP-SRV-7)
- def chunk.endthe last chunk and the end of a chunked body
- def respond.of.bodydrop a 204/304 body; any other status keeps it
- def respond.offormat a structured Reply as a response message
- def reply.for.pickHEAD carries no message body; any other method keeps the body (RFC 9110 §9.3.2)
- def reply.fordrop a HEAD response body before it is written
- def method.ofthe method token, or "" when the request did not parse
- def ask.shortrequest body against Content-Length
- def ask.clena request body framed by Content-Length (RFC 9110 §8.6 / RFC 9112 §6.3)
- def ask.lenContent-Length when present; else the rest of the connection is the body
- def ask.chunkeda chunked request body, or why the chunk framing was rejected
- def ask.chunksscan chunk sizes, then decode when they are hex and closed by 0
- def ask.te.clashTransfer-Encoding together with Content-Length is a bad request
- def ask.techunked framing, or Content-Length, or the rest of the connection
- def ask.agreedisagreeing Content-Length values are bad before framing
- def ask.framethe headers that decide request framing (RFC 9112 §6.3)
- def ask.originorigin-form, or a bad request when the target is not an absolute-path
- def ask.linerequest-line: method SP request-target SP HTTP-version (RFC 9112 §3)
- def ask.partsthree fields of the request-line, or torn
- def ask.headthe head's lines, with the request-line read off the first
- def ask.cuta request divided into its head and everything after the blank line
- def askthe method, target, headers, and body of a raw request
- def ask.showa parsed request on one line, for a test to read
- def status.bare204 and 304 carry no body; a status line that did not parse is framed by its headers
- def status.interima 1xx status is an interim response (RFC 9110 §15.2); a status line that did not parse is not
- def frame.sizeda Content-Length that reads as a number, or the close when none does
- def frame.agreeContent-Length values that agree frame the body; any others leave the close
- def frame.techunked framing wins over Content-Length (RFC 9112 §6.3 item 4)
- def framethe framing of a response: none when bare (a reply to HEAD, a 204 or a 304), else Transfer-Encoding chunked, else Content-Length, else the close
- def chunks.trailera zero chunk's trailer section has ended: at once, or after its fields
- def chunks.ended.dataa chunk that has all arrived: on to the next chunk header, else not yet