gato_lambda/
lambda_http_core.rs1use serde_json::json;
2use std::collections::HashMap;
3use crate::lambda_driver::LambdaDriver;
4use gato_core::kernel::{HttpCore, RouterHandler, RequestBuilder};
5
6pub struct LambdaHttpCore { }
7
8impl HttpCore for LambdaHttpCore {
9
10 fn handle(&self) {
11 loop {
12 let driver = LambdaDriver::new();
13
14 let router_handler = RouterHandler::get_driver();
16
17 let mut request = RequestBuilder::new();
18 request.add_headers(driver.get_headers());
19 request.add_body(driver.get_body());
20 request.add_method(driver.get_method());
21 request.add_uri(driver.get_uri());
22
23 let response = router_handler.handle(&mut request);
24 let body = json!({
26 "statusCode": response.get_code(),
27 "body": response.get_body(),
28 "headers": response.get_headers()
29 });
30 driver.send(body.to_string());
31 }
32 }
33
34 fn get_request_headers(&self) -> HashMap<String, String> {
35 return HashMap::new();
36 }
37
38 fn get_post_data(&self) -> String {
39 return "".to_owned();
40 }
41}
42
43impl LambdaHttpCore {
44 pub fn new() -> Self {
45 return LambdaHttpCore { };
46 }
47}