Commit graph

112 commits

Author SHA1 Message Date
Sdogruyol
d1f95c0f39 All specs passing except macros 2016-01-24 12:22:25 +02:00
Fatih Kadir Akın
7d0d5add84 Implement radix algorithm for routing (thanks to beryl) 2016-01-22 23:06:13 +02:00
Luis Lavena
df359d66c9 Build Route Regex once to reduce allocations
Right now every `match?` performed against the routes defined result
in a new Regex compiled for the exact same `@path`.

Since `@path` of the Route does not change on every request, we
pre-build it to avoid repeated allocations.

When testing this in release mode (against 0.10.2 [d1e3f0b]):

Before: 32408.48 req/s
After:  34862.07 req/s
2016-01-18 13:48:41 -03:00
Sdogruyol
788c7241d4 Handle cases when logger can be nil 2016-01-18 17:25:52 +02:00
Sdogruyol
0498801b0d Initialize logger in config 2016-01-17 14:22:47 +02:00
Sdogruyol
51092fbb91 Move logger to config 2016-01-17 14:18:18 +02:00
Sdogruyol
2af3648682 Make logger configurable 2016-01-17 13:08:12 +02:00
Sdogruyol
5fb5a4c6ae Small refactor 2016-01-16 12:56:01 +02:00
sdogruyol
7ffa6700de Update CLI to handle missing ssl_key and ssl_cert 2016-01-15 14:50:11 +02:00
Fatih Kadir Akın
37d40f4fbe Implement SSL handling, move option parser to another file to maintain
easier
2016-01-13 23:31:19 +02:00
sdogruyol
b37dd29d4b Update router to handle method matching 2016-01-13 15:22:50 +02:00
sdogruyol
4c423e967f Refactor parse_url_params 2016-01-13 10:07:37 +02:00
Fatih Kadir Akın
3e8b2ae51c Implement parse_url_params 2016-01-13 00:06:19 +02:00
Sdogruyol
0b4a36953f Started reimplementing router 2016-01-12 21:37:12 +02:00
Sdogruyol
aabfe4ff99 Add log macro 2016-01-08 18:44:37 +02:00
Serdar Dogruyol
2503bc4e3d Merge pull request #45 from aladagemre/master
Add 403 view
2016-01-05 19:24:42 +02:00
Ahmet Emre Aladağ
47f505ff76 Update view.cr 2016-01-05 17:35:07 +02:00
sdogruyol
eb4c82043a Add add_handler macro 2016-01-05 14:20:40 +02:00
Sdogruyol
6a4ed2d9eb Add exception logging. Closes #41 2016-01-04 21:54:58 +02:00
Ahmet Emre Aladağ
87bbb2069f Realm added for Basic Authentication 2016-01-04 20:14:05 +02:00
sdogruyol
7ad319c70d v0.6.0 2016-01-03 22:13:10 +02:00
sdogruyol
c21567fe17 Add macro specs 2016-01-03 13:22:43 +02:00
sdogruyol
211685ee74 Fix basic_auth 2015-12-31 14:03:11 +02:00
Serdar Dogruyol
aaa2ee1e31 Add public_folder macro 2015-12-30 20:16:04 +02:00
Sdogruyol
24e2647ed7 Require middleware in bootstrap 2015-12-27 11:59:07 +02:00
Sdogruyol
743fd3682d Add HTTPBasicAuth middleware 2015-12-27 11:53:54 +02:00
Sdogruyol
8b6700695d Update delegate macro in context 2015-12-27 11:17:22 +02:00
Alfonso Uceda Pompa
8c0ea21d44 return raw json when we parse the request body 2015-12-24 17:09:33 +01:00
Alfonso Uceda Pompa
e39770b433 Make compatyble with crystal 0.10.0 2015-12-24 16:25:00 +01:00
Sdogruyol
fbc21b197a Rename to Kemal::WebSocketHandler 2015-12-22 20:51:27 +02:00
Sdogruyol
44af664748 Remove experimental fork mode 2015-12-19 10:00:29 +02:00
Sdogruyol
20ef2b2927 Add more documentation 2015-12-18 22:45:28 +02:00
Serdar Dogruyol
88c19f0051 Remove unnecessary handler 2015-12-16 17:06:06 +02:00
Sdogruyol
06ced7790b Adding websocket support :) 2015-12-15 23:11:21 +02:00
Sdogruyol
66c8b6d857 Move macros from view to macros 2015-12-14 20:05:46 +02:00
Sdogruyol
5c97942707 Add more documentation 2015-12-13 10:25:04 +02:00
Sdogruyol
8522fd2f56 Fix binding 2015-12-12 21:35:17 +02:00
Sdogruyol
58f9d8c590 Add read config from yml 2015-12-12 20:27:46 +02:00
Sdogruyol
85a383b328 Fix static file handler 2015-12-10 21:20:32 +02:00
Sdogruyol
e4da65f1f2 Refactor static file handler 2015-12-10 21:15:28 +02:00
Sdogruyol
21a3c6ad3c Add static file handler 2015-12-10 20:40:39 +02:00
Serdar Dogruyol
12c6af7d79 Merge pull request #32 from ilatif/master
Removed env from redirect and changed redirect from method to macro.
2015-12-09 22:27:04 +02:00
Imran Latif
4d1e31cb41 Removed env from redirect and changed redirect from method to macro.
Removed `env.redirect` in-favor of `redirect` in-order to make Kemal's
API look more like Sinatra.

Thanks @sdogruyol and @f for introducing me to macros :-).

Binding HTTP::Server to 0.0.0.0
2015-12-10 01:24:49 +05:00
Serdar Dogruyol
ef3c16b2c0 Merge pull request #31 from f/master
Add layout support for render macro.
2015-12-09 21:57:01 +02:00
Fatih Kadir Akın
9ade49ae20 Add layout support for render macro. It should be improved in the future. 2015-12-09 17:54:49 +02:00
Serdar Dogruyol
c05db1f643 Remove unnecessary log on exit 2015-12-09 17:36:13 +02:00
Sdogruyol
a67a8508cf Add worker support (experimental) 2015-12-08 22:15:13 +02:00
Serdar Dogruyol
a2a082b58f Merge pull request #29 from askn/master
fix default log color
2015-12-07 10:27:16 +02:00
Sdogruyol
bee7ce2452 Bind host to 0.0.0.0 2015-12-07 09:17:00 +02:00
Aşkın Gedik
fd80fd2f1b fix default log color 2015-12-07 00:21:50 +02:00