dist_agent_lang 1.0.12

Hybrid programming with library and CLI support for Off/On-chain network integration
Documentation
// Test web server functionality with trust validation
@trust("hybrid")
@web
@chain("ethereum")
service WebServerTest {
    fn test_web_server() -> bool {
        log::info("test", "=== Testing Web Server with Trust Validation ===");
        
        // Create HTTP server
        let server = web::create_server(3000);
        log::info("test", "Created HTTP server on port 3000");
        
        // Add routes
        let route1 = web::add_route(server, "GET", "/", "home_handler");
        let route2 = web::add_route(server, "GET", "/api/balance", "balance_handler");
        let route3 = web::add_route(server, "POST", "/api/transfer", "transfer_handler");
        
        log::info("test", "Added routes: " + route1 + ", " + route2 + ", " + route3);
        
        // Add middleware
        let middleware = web::add_middleware(server, "cors", "cors_handler", 1);
        log::info("test", "Added middleware: " + middleware);
        
        // Configure CORS
        let cors_config = web::configure_cors(server, true);
        log::info("test", "Configured CORS: " + cors_config);
        
        // Serve static files
        let static_files = web::serve_static_files(server, "/static");
        log::info("test", "Configured static files: " + static_files);
        
        // Start the server
        let result = web::start_server(server);
        
        match result {
            Ok(message) => {
                log::info("test", "✅ Web server started successfully: " + message);
                return true;
            }
            Err(error) => {
                log::error("test", "❌ Failed to start web server: " + error);
                return false;
            }
        }
    }
    
    fn test_web_client() -> bool {
        log::info("test", "=== Testing Web Client ===");
        
        // Create HTTP client
        let client = web::create_client("https://api.example.com");
        log::info("test", "Created HTTP client for https://api.example.com");
        
        // Make GET request
        let get_response = web::get_request("https://api.example.com/data");
        match get_response {
            Ok(response) => {
                log::info("test", "✅ GET request successful: " + response.status);
                log::info("test", "Response body: " + response.body);
            }
            Err(error) => {
                log::error("test", "❌ GET request failed: " + error);
                return false;
            }
        }
        
        // Make POST request
        let post_data = {
            "name": "test",
            "value": 123
        };
        let post_response = web::post_request("https://api.example.com/data", post_data);
        match post_response {
            Ok(response) => {
                log::info("test", "✅ POST request successful: " + response.status);
                log::info("test", "Response body: " + response.body);
            }
            Err(error) => {
                log::error("test", "❌ POST request failed: " + error);
                return false;
            }
        }
        
        return true;
    }
    
    fn test_frontend_framework() -> bool {
        log::info("test", "=== Testing Frontend Framework ===");
        
        // Create HTML page
        let page = web::create_html_page("Test Page");
        log::info("test", "Created HTML page: " + page);
        
        // Add CSS file
        let css = web::add_css_file(page, "/static/styles.css");
        log::info("test", "Added CSS file: " + css);
        
        // Add JS file
        let js = web::add_js_file(page, "/static/app.js");
        log::info("test", "Added JS file: " + js);
        
        // Create element
        let element = web::create_element("div");
        log::info("test", "Created element: " + element);
        
        // Add attributes
        let attr1 = web::add_attribute(element, "class", "container");
        let attr2 = web::add_attribute(element, "id", "main");
        log::info("test", "Added attributes: " + attr1 + ", " + attr2);
        
        // Add event handler
        let event = web::add_event_handler(element, "click", "handleClick");
        log::info("test", "Added event handler: " + event);
        
        // Append child
        let append = web::append_child(element, "child_element");
        log::info("test", "Appended child: " + append);
        
        // Render HTML
        let rendered = web::render_html_page(page);
        log::info("test", "Rendered HTML page: " + rendered);
        
        return true;
    }
    
    fn run_all_tests() -> bool {
        log::info("test", "=== Running All Web Tests ===");
        
        let server_test = self.test_web_server();
        let client_test = self.test_web_client();
        let frontend_test = self.test_frontend_framework();
        
        let all_passed = server_test && client_test && frontend_test;
        
        if all_passed {
            log::info("test", "🎉 All web tests passed!");
        } else {
            log::error("test", "❌ Some web tests failed");
        }
        
        return all_passed;
    }
}