module Kemal

Defined in:

lib/kemal/src/kemal.cr
lib/kemal/src/kemal/base_log_handler.cr
lib/kemal/src/kemal/cli.cr
lib/kemal/src/kemal/config.cr
lib/kemal/src/kemal/exception_handler.cr
lib/kemal/src/kemal/file_upload.cr
lib/kemal/src/kemal/filter_handler.cr
lib/kemal/src/kemal/handler.cr
lib/kemal/src/kemal/head_request_handler.cr
lib/kemal/src/kemal/helpers/exception_page.cr
lib/kemal/src/kemal/helpers/utils.cr
lib/kemal/src/kemal/init_handler.cr
lib/kemal/src/kemal/log_handler.cr
lib/kemal/src/kemal/null_log_handler.cr
lib/kemal/src/kemal/override_method_handler.cr
lib/kemal/src/kemal/param_parser.cr
lib/kemal/src/kemal/request_log_handler.cr
lib/kemal/src/kemal/route.cr
lib/kemal/src/kemal/route_handler.cr
lib/kemal/src/kemal/ssl.cr
lib/kemal/src/kemal/static_file_handler.cr
lib/kemal/src/kemal/websocket.cr
lib/kemal/src/kemal/websocket_handler.cr
ext/param_parser.cr
ext/route_handler.cr
kemal/controller.cr
kemal/from_www_form.cr
kemal/print_routes.cr

Class Method Summary

Class Method Detail

def self.print_routes(io : IO = STDOUT) #

Prints all registered routes to the specified IO stream.

Displays a formatted table of all routes registered in the application, including HTTP method, path, controller/method name, and authentication/strip status. Routes are sorted by path and method.

Parameters

  • io : IO - The output stream to write to (default: STDOUT)

Authentication and Stripping Indicators

  • 🔒 - Route requires authentication (auth: true)
  • ✂️ - Route strips parameters (strip: true or strip: [...])

Example

Kemal.print_routes
# Output:
#    GET 🔒    /area51                    TestController#area51()
#   POST       /array_of_named_tuples     TestController#array_of_named_tuples(items : Array(NamedTuple(name: String, age: Int32)))
#    GET    ✂️  /strip                     TestController#strip(something : String)
#
# 3 routes

Example with Command Line Option

Kemal.config.extra_options do |parser|
  parser.on("--routes", "Show all routes") do
    Kemal.print_routes
    exit(0)
  end
end

[View source]
def self.redacted_parameters #

List of parameter name keywords that trigger automatic redaction in logs.

The following parameters are automatically redacted if a request contains a parameter whose name partially matches one of these keywords (case-sensitive). Use lowercase parameter names to ensure proper redaction.

Default keywords: passw, secret, token, _key, crypt, salt, certificate, otp, ssn, cvv, cvc

Example

Kemal.redacted_parameters << "api_key"

[View source]
def self.redacted_parameters=(redacted_parameters) #

List of parameter name keywords that trigger automatic redaction in logs.

The following parameters are automatically redacted if a request contains a parameter whose name partially matches one of these keywords (case-sensitive). Use lowercase parameter names to ensure proper redaction.

Default keywords: passw, secret, token, _key, crypt, salt, certificate, otp, ssn, cvv, cvc

Example

Kemal.redacted_parameters << "api_key"

[View source]