summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/request.rs36
1 files changed, 18 insertions, 18 deletions
diff --git a/src/request.rs b/src/request.rs
index 6da46ee..1a0611f 100644
--- a/src/request.rs
+++ b/src/request.rs
@@ -92,6 +92,24 @@ impl Request {
}
}
+impl UserData for Request {
+ fn add_fields<F: mlua::UserDataFields<Self>>(fields: &mut F) {
+ fields.add_field_method_get("method", |_, this| Ok(this.method().to_string()));
+
+ fields.add_field_method_get("path", |_, this| Ok(this.path().0.clone()));
+
+ fields.add_field_method_get("headers", |lua, this| {
+ let table = lua.create_table()?;
+
+ for (key, value) in this.headers() {
+ table.set(key.clone(), value.clone())?;
+ }
+
+ Ok(table)
+ })
+ }
+}
+
fn method<'a>() -> impl Parser<&'a [u8], Output = Method> {
tag(b"GET".as_slice())
.map(|_| Method::Get)
@@ -121,24 +139,6 @@ fn header<'a>() -> impl Parser<&'a [u8], Output = (Vec<u8>, Vec<u8>)> {
key.and(value.preceded_by(tag(b": ".as_slice())))
}
-impl UserData for Request {
- fn add_fields<F: mlua::UserDataFields<Self>>(fields: &mut F) {
- fields.add_field_method_get("method", |_, this| Ok(this.method().to_string()));
-
- fields.add_field_method_get("path", |_, this| Ok(this.path().0.clone()));
-
- fields.add_field_method_get("headers", |lua, this| {
- let table = lua.create_table()?;
-
- for (key, value) in this.headers() {
- table.set(key.clone(), value.clone())?;
- }
-
- Ok(table)
- })
- }
-}
-
#[allow(clippy::type_complexity)]
fn parse<'a>() -> impl Parser<&'a [u8], Output = ((Method, Vec<u8>), Vec<(Vec<u8>, Vec<u8>)>)> {
method()