package mantra.web

Router

CLASS public class

URL router for registering path patterns to handler names and resolving incoming HTTP requests.

🏗️ Constructor Summary

Constructor Signature
def __init__(self)

⚙️ Method Summary

Modifier & Return Type Method Signature Description
Router pub def get(pattern: String, handler: String) Registers a GET route pattern and handler identifier.
Router pub def post(pattern: String, handler: String) Registers a POST route pattern and handler identifier.
Router pub def put(pattern: String, handler: String) Registers a PUT route pattern and handler identifier.
Router pub def delete(pattern: String, handler: String) Registers a DELETE route pattern and handler identifier.
String pub def resolve(method: String, path: String) Resolves an HTTP method and request path to the registered handler name.

🔍 Detailed Method Specifications

pub def get(pattern: String, handler: String) -> Router
Registers a GET route pattern and handler identifier.
pub def post(pattern: String, handler: String) -> Router
Registers a POST route pattern and handler identifier.
pub def put(pattern: String, handler: String) -> Router
Registers a PUT route pattern and handler identifier.
pub def delete(pattern: String, handler: String) -> Router
Registers a DELETE route pattern and handler identifier.
pub def resolve(method: String, path: String) -> String
Resolves an HTTP method and request path to the registered handler name.

💡 Example Usage

router_example.mantra
let router = Router()
    .get("/users", "get_all_users")
    .post("/users", "create_user")
    .get("/users/{id}", "get_user_by_id")
    .delete("/users/{id}", "delete_user")

let handler = router.resolve("GET", "/users")
print("Target Handler: " + handler)