Software /
code /
prosody
File
teal-src/net/http/parser.d.tl @ 12763:d26eefe98d09
util.dbuffer: Add efficient shortcuts for discard() in certain cases
If the buffer is already empty, nothing to do. If we're throwing away the
whole buffer, we can just empty it and avoid read_chunk() (which in turn
may collapse()). These shortcuts are much more efficient.
author | Matthew Wild <mwild1@gmail.com> |
---|---|
date | Tue, 11 Oct 2022 11:37:55 +0100 |
parent | 12609:a8eb838fc6cf |
line wrap: on
line source
local record httpstream feed : function(httpstream, string) end local type sink_cb = function () local record httppacket enum http_method "HEAD" "GET" "POST" "PUT" "DELETE" "OPTIONS" -- etc end method : http_method record url_details path : string query : string end url : url_details path : string enum http_version "1.0" "1.1" end httpversion : http_version headers : { string : string } body : string | boolean body_sink : sink_cb chunked : boolean partial : boolean end local enum error_conditions "cancelled" "connection-closed" "certificate-chain-invalid" "certificate-verify-failed" "connection failed" "invalid-url" "unable to resolve service" end local type success_cb = function (httppacket) local type error_cb = function (error_conditions) local enum stream_mode "client" "server" end local record lib new : function (success_cb, error_cb, stream_mode) : httpstream end return lib