src/ROUTING_WITNESSES.bend checks
raw source on the hub · import 0x36c893ade1f158581b4c8c34eb3b510e/src/ROUTING_WITNESSES.bend as ROUTING_WITNESSES
2 imports
import Base import ./contracts.bend as C
Laws
law case_sensitive_method provedsource · line 4 · raw
{0x36c893ade1f158581b4c8c34eb3b510e/src/contracts.select([0x36c893ade1f158581b4c8c34eb3b510e/src/contracts.Route{0n, "GET", "/x", False{}, []}], "get", "/x") == 0x36c893ade1f158581b4c8c34eb3b510e/src/contracts.WrongMethod{["GET"]} : 0x36c893ade1f158581b4c8c34eb3b510e/src/contracts.Selection}
law empty_capture_rejected provedsource · line 10 · raw
{0x36c893ade1f158581b4c8c34eb3b510e/src/contracts.match_path("/x/:id", "/x/") == 0x36c893ade1f158581b4c8c34eb3b510e/src/contracts.NoMatch{} : 0x36c893ade1f158581b4c8c34eb3b510e/src/contracts.Match}
law first_route_wins provedsource · line 15 · raw
{0x36c893ade1f158581b4c8c34eb3b510e/src/contracts.select([0x36c893ade1f158581b4c8c34eb3b510e/src/contracts.Route{0n, "GET", "/:id", False{}, []}, 0x36c893ade1f158581b4c8c34eb3b510e/src/contracts.Route{1n, "GET", "/x", True{}, []}], "GET", "/x") == 0x36c893ade1f158581b4c8c34eb3b510e/src/contracts.Found{0x36c893ade1f158581b4c8c34eb3b510e/src/contracts.Route{0n, "GET", "/:id", False{}, []}, [0x36c893ade1f158581b4c8c34eb3b510e/src/contracts.Param{"id", "x"}]} : 0x36c893ade1f158581b4c8c34eb3b510e/src/contracts.Selection}
law allow_last_occurrence_order provedsource · line 21 · raw
{0x36c893ade1f158581b4c8c34eb3b510e/src/contracts.select([0x36c893ade1f158581b4c8c34eb3b510e/src/contracts.Route{0n, "GET", "/x", False{}, []}, 0x36c893ade1f158581b4c8c34eb3b510e/src/contracts.Route{1n, "POST", "/x", False{}, []}, 0x36c893ade1f158581b4c8c34eb3b510e/src/contracts.Route{2n, "GET", "/x", False{}, []}], "DELETE", "/x") == 0x36c893ade1f158581b4c8c34eb3b510e/src/contracts.WrongMethod{["POST", "GET"]} : 0x36c893ade1f158581b4c8c34eb3b510e/src/contracts.Selection}
law raw_segments_and_capture_order provedsource · line 27 · raw
{0x36c893ade1f158581b4c8c34eb3b510e/src/contracts.match_path("/:a//:b/", "/%2F//X/") == 0x36c893ade1f158581b4c8c34eb3b510e/src/contracts.Matched{[0x36c893ade1f158581b4c8c34eb3b510e/src/contracts.Param{"a", "%2F"}, 0x36c893ade1f158581b4c8c34eb3b510e/src/contracts.Param{"b", "X"}]} : 0x36c893ade1f158581b4c8c34eb3b510e/src/contracts.Match}
law empty_parameter_name_rejected provedsource · line 33 · raw
{0x36c893ade1f158581b4c8c34eb3b510e/src/contracts.match_path("/:", "/x") == 0x36c893ade1f158581b4c8c34eb3b510e/src/contracts.NoMatch{} : 0x36c893ade1f158581b4c8c34eb3b510e/src/contracts.Match}