~/bend-docscommunity

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}