class

ActionController::Server

Inherits ActionController::Router < Reference < Object

Constants

REUSE_DEFAULT = {% if flag?(:win32) %} false {% else %} true {% end %}

reuse port is only useful for broadcast or multicast applications on windows when used with TCP it is considered a security risk as the port can be stolen

Constructors

new(port : Int32 = 3000, host : String = "127.0.0.1", reuse_port : Bool = REUSE_DEFAULT, composition : Composition = Composition.default)

create an instance of the application

Source
new(ssl_context : OpenSSL::SSL::Context::Server | Nil, port : Int32 = 3000, host : String = "127.0.0.1", reuse_port : Bool = REUSE_DEFAULT, composition : Composition = Composition.default)

create an instance of the application with tls

Source

Class methods

after(*handlers)

handlers to run after your application code, see: handlers

these will only be run if the route is not found in your application

Source
before(*handlers)

handlers to run before your application code, see: handlers

configure these in your config.cr file

Source
routes

returns a list of the routes defined in the application

responds with [{"ControllerClass", :name, :verb, "/route"}]

Source

Instance methods

close

Terminates the application gracefully once any cluster processes have exited

Source
cluster(count, short_arg, long_arg, args = ARGV.dup)

Launches additional worker processes removing the short and long arguments that trigger this method

Source
cluster(count)

Spawns count number of threads in the default Fiber::ExecutionContext

Source
composition
Source
host

the host address the server is configured to run on

Source
mount_mcp_card_previewer(path : String = "/mcp/card/preview", mcp : String | Nil = nil) : ActionController::MCPServer::CardPreviewer

mounts the MCP Apps card previewer, see ActionController::MCPServer.mount_card_previewer. Call it once the MCP server is mounted, from the run callback or before run

server.run do
  server.mount_mcp_card_previewer("/mcp/card/preview")
end
Source
port

the port the server is accepting connections from

Source
run

Starts the server, providing a callback once the ports are bound

Source
run

Starts the server

Source
socket

Provides access the HTTP server for the purpose of binding For example server.socket.bind_unix "/tmp/my-socket.sock"

Source
threads(count = -1)

Spawns count number of threads in the default Fiber::ExecutionContext

Source

Macros

compose(*roots)

Select application roots for routing, route listing and generated catalogs. Call from config.cr before constructing the server.

Source

Nested types