Handbook
Glossary
read-multipart-data ( request content-length -- mime-parts )
Vocabulary
http
.
server
.
requests
Inputs
request
an
object
content-length
an
object
Outputs
mime-parts
an
object
Definition
USING:
accessors
combinators.short-circuit
continuations
http
io
io.encodings
io.encodings.binary
io.streams.throwing
kernel
mime.multipart
namespaces
peg
sequences
;
IN:
http.server.requests
:
read-multipart-data
( request content-length -- mime-parts )
maybe-limit-input
binary
decode-input
input-stream
[
[
<throws-on-eof-stream>
]
change-stream
]
change
"content-type"
header
parse-multipart-form-data
[
parse-multipart
[
65536
read
]
[
drop
]
while*
]
[
nip
dup
stream-exhausted?
[
drop
incomplete-request
]
when
dup
{
[
mime-decoding-ran-out-of-bytes?
]
[
no-content-disposition?
]
[
unknown-content-disposition?
]
[
assert-sequence?
]
[
parse-error?
]
}
1||
[
bad-request-body
]
[
rethrow
]
if
]
recover
;