You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Luna bcf875b1d8 websocket: default to error code 500 on any websocket error 2 weeks ago
.github Create FUNDING.yml 1 month ago
samples Update websocket_server.cr 3 years ago
spec Do not try to call ExceptionHandler#call_exception_with_status_code on a closed response. Fixes #514 5 months ago
src websocket: default to error code 500 on any websocket error 2 weeks ago
.gitignore Update multipart.cr to v0.1.1 2 years ago
.travis.yml Run crystal tool format --check on Travis CI (#518) 4 months ago
CHANGELOG.md 0.25.2 4 months ago
LICENSE Add LICENSE 3 years ago
README.md Improve Installation in README (#445) 1 year ago
shard.yml 0.25.2 4 months ago

README.md

Kemal

Kemal

Lightning Fast, Super Simple web framework.

Build Status

Super Simple ⚡️

require "kemal"

# Matches GET "http://host:port/"
get "/" do
  "Hello World!"
end

# Creates a WebSocket handler.
# Matches "ws://host:port/socket"
ws "/socket" do |socket|
  socket.send "Hello from Kemal!"
end

Kemal.run

Start your application!

crystal src/kemal_sample.cr

Go to http://localhost:3000

Check documentation or samples for more.

Installation

Add this to your application’s shard.yml:

dependencies:
  kemal:
    github: kemalcr/kemal

See also Getting Started.

Features

  • Support all REST verbs
  • Websocket support
  • Request/Response context, easy parameter handling
  • Middleware support
  • Built-in JSON support
  • Built-in static file serving
  • Built-in view templating via Kilt

Documentation

You can read the documentation at the official site kemalcr.com

Thanks

Thanks to Manas for their awesome work on Frank.