Hoe catch all routes te gebruiken met Kemal
Voor een Vue.js single page applicatie - in ieder geval op een SUB URL van onze pagina - willen we een catch all op onze server, die altijd dezelfde template / HTML output naar de browser zal renderen.
Kemal is intern gebaseerd op Radix voor routing:
Radix heeft een Catch All / Glob karakter: *
Daarom, als we een catch all route willen maken, schrijven we gewoon:
get "/debug/*" do |env|
render "src/views/hello.ecr"
einde
Dit zal overeenkomen met, bijvoorbeeld:
- /debug
- /debug/
- /debug/alles
- /debug/anything/as/deep/as/you/wishing
Dit zal NIET overeenkomen:
- /debug3
Verder lezen / Code:
- https://github.com/luislavena/radix/blob/master/src/radix/tree.cr - zoeken naar privaat def find(path : String, result : Result, node : Node, first = false) -. in regel 256 op het moment van schrijven, is de glob * gedefinieerd