class ActionController::Server

Included Modules

Defined in:

action-controller/server.cr

Constant Summary

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

Class Method Summary

Instance Method Summary

Instance methods inherited from module ActionController::Router

delete(path : String, &block : Action) delete, get(path : String, &block : Action) get, head(path : String, &block : Action) head, options(path : String, &block : Action) options, patch(path : String, &block : Action) patch, post(path : String, &block : Action) post, put(path : String, &block : Action) put, route_handler : RouteHandler route_handler

Constructor Detail

def self.new(port : Int32 = 3000, host : String = "127.0.0.1", reuse_port : Bool = REUSE_DEFAULT) #

create an instance of the application


[View source]
def self.new(ssl_context : OpenSSL::SSL::Context::Server | Nil, port : Int32 = 3000, host : String = "127.0.0.1", reuse_port : Bool = REUSE_DEFAULT) #

create an instance of the application with tls


[View source]

Class Method Detail

def self.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


[View source]
def self.before(*handlers) #

handlers to run before your application code, see: handlers

configure these in your config.cr file


[View source]
def self.print_routes #

Used to output route details to the console from a command line switch


[View source]
def self.routes : Array(Tuple(String, Symbol, Symbol, String)) #

returns a list of the routes defined in the application

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


[View source]

Instance Method Detail

def close : Nil #

Terminates the application gracefully once any cluster processes have exited


[View source]
def cluster(count, short_arg, long_arg, args = ARGV.dup) #

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


[View source]
def cluster(count) #

Forks additional worker processes


[View source]
def host : String #

the host address the server is configured to run on


[View source]
def port : Int32 #

the port the server is accepting connections from


[View source]
def print_addresses #

Prints the addresses that the server is listening on


[View source]
def run(&) : Nil #

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


[View source]
def run : Nil #

Starts the server


[View source]
def socket : HTTP::Server #

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


[View source]