aboutsummaryrefslogtreecommitdiffstats
path: root/teal-src/prosody/net/http/parser.d.tl
diff options
context:
space:
mode:
authorKim Alvefur <zash@zash.se>2023-03-23 13:36:52 +0100
committerKim Alvefur <zash@zash.se>2023-03-23 13:36:52 +0100
commitf68336b96e0d843511bb1bd3fdac8bba2fe4573a (patch)
treea54111914e081293e50b846e7f0d9654e885c2ed /teal-src/prosody/net/http/parser.d.tl
parent738df041ac3965496e9247acc95d80f84d30b2b5 (diff)
downloadprosody-f68336b96e0d843511bb1bd3fdac8bba2fe4573a.tar.gz
prosody-f68336b96e0d843511bb1bd3fdac8bba2fe4573a.zip
teal: Move into prosody namespace
Diffstat (limited to 'teal-src/prosody/net/http/parser.d.tl')
-rw-r--r--teal-src/prosody/net/http/parser.d.tl58
1 files changed, 58 insertions, 0 deletions
diff --git a/teal-src/prosody/net/http/parser.d.tl b/teal-src/prosody/net/http/parser.d.tl
new file mode 100644
index 00000000..1cd6ccf4
--- /dev/null
+++ b/teal-src/prosody/net/http/parser.d.tl
@@ -0,0 +1,58 @@
+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