sdogruyol
2b9152ff79
Update instance types
2016-04-13 11:00:02 +03:00
sdogruyol
40ab34c63d
All specs passing
2016-04-12 20:00:37 +03:00
sdogruyol
b4bc818490
Update handler
2016-04-12 17:35:29 +03:00
sdogruyol
c47c9488fe
Return string from context
2016-04-12 17:15:43 +03:00
sdogruyol
05e44e68c6
Updating to instance types
2016-04-12 14:41:09 +03:00
Jerome Gravel-Niquet
e407f52897
Only set @logger when not previously set
...
This came in contradiction with the docs.
2016-04-11 10:54:59 -04:00
Sdogruyol
65d0af5b5f
Update config to use uninitialized server
2016-04-09 17:33:17 +03:00
Sdogruyol
b32099e13b
Move server from local scope to config
2016-04-09 17:20:39 +03:00
Sdogruyol
0eb7638b1b
Remove redundant at_exit hook
2016-04-09 17:17:11 +03:00
Ben Jolitz
1f809c68c8
Support additional options as part of the Config
...
This commit adds the ability to add a closure suitable for adding
additional options. It is expected to allow someone to set global,
module or class level variables so they can pass changes/options
suitable for making decisions.
2016-03-30 13:33:51 -07:00
Fatih Kadir Akın
8110788a41
Added return_with macro to break response in the middle of the block.
2016-03-30 00:48:58 +03:00
Serdar Dogruyol
7b1bc43a41
Update dsl.cr
2016-03-23 14:45:18 +02:00
sdogruyol
be418feaf3
Fix WebSocketHandler
2016-03-23 13:21:19 +02:00
Filip Defar
a8ff776b49
Don't convert host_binding to slice when instantiating server
2016-03-22 21:20:21 +01:00
Sdogruyol
fd904cd98d
0.11.0
2016-03-19 15:15:44 +02:00
Sdogruyol
664673f125
Set content-type to text/html on errors.Fixes #130
2016-03-18 20:03:04 +02:00
Fatih Kadir Akın
8402f06bc3
Show backtrace in 500 statuses using inspect_with_backtrace
2016-03-08 13:43:46 +02:00
Serdar Dogruyol
a194bebe31
Merge pull request #123 from f/master
...
Upgrade ParamParser to make it more convinient.
2016-03-07 13:41:24 +02:00
Fatih Kadir Akın
043d1c8aa2
Add memoization to lazy param parsing
2016-03-07 11:21:37 +02:00
Fatih Kadir Akın
4ee4b66135
Make the param getters lazy to improve performance
2016-03-06 22:29:23 +02:00
Fatih Kadir Akın
42deb95688
Remove merged params to improve performance
2016-03-06 21:46:35 +02:00
Fatih Kadir Akın
53d12534b7
Remove ParamContainer abstraction to make it faster.
2016-03-06 21:43:13 +02:00
Sdogruyol
e3c3154006
Make sure to instantiate null log handler
2016-03-06 20:16:51 +02:00
Fatih Kadir Akın
e53ba1d9da
Decouple ParamContainer which makes the code cleaner, and fix kemal.cr
...
url -- by @sdogruyol
2016-03-06 14:08:59 +02:00
Fatih Kadir Akın
8267ffe2c5
Upgrade ParamParser to make it more convinient.
...
It now decouples `env.params` to `env.params.query`, `env.params.body`,
`env.params.json` and `env.params.url` and you still can access merged
values using `env.params.all`
2016-03-06 13:22:24 +02:00
Joris Moriau
04ccb973a9
set positions for errors and logger middleware, added 2 views
2016-03-03 21:23:04 +01:00
Armin Pašalić
6759fb2373
Add options to the DSL
...
As in https://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html#sec9.2 and because it's a nice way to document API
2016-02-25 17:38:57 +01:00
Joris Moriau
8f6b00ba55
decoupled-urlparams-from-routehandler
2016-02-19 12:45:25 +01:00
Joris Moriau
e6d1da6dd2
added small feature
2016-02-17 20:56:19 +01:00
sdogruyol
5a58ee3cbb
Format code
2016-02-17 11:52:13 +02:00
Joris Moriau
c5201f01ad
added verb for filters and minor improvements
2016-02-17 10:34:01 +01:00
Jerome Gravel-Niquet
69b836a98a
use new Kilt 0.3 syntax, add mention in readme for clarity
2016-02-15 12:09:33 -05:00
Joris Moriau
ed769ad700
added configure serve_static
2016-02-15 12:59:26 +01:00
Jerome Gravel-Niquet
9404fa5c80
Abstract template engines with Kilt
2016-02-14 13:37:55 -05:00
Sdogruyol
8c87a3fa67
Replace global macros with methods. Thanks @asterite
2016-02-14 18:52:49 +02:00
Sdogruyol
092f5a2e49
Improve kemal.cr
2016-02-14 15:15:52 +02:00
Joris Moriau
f5b5260ab9
fixed small redundancy.
2016-02-14 13:57:51 +01:00
Joris Moriau
f7975d917d
decoupled errors from route-handler
2016-02-14 12:52:32 +01:00
Sdogruyol
88aa9cd497
Remove call_next from RouteHandler
2016-02-14 11:02:16 +02:00
sdogruyol
8f5bc755ae
Add logger macro to easily setup custom log_handler
2016-02-12 16:09:15 +02:00
sdogruyol
3c75d727ba
Complete decoupling logger
2016-02-12 14:11:34 +02:00
Joris Moriau
3aa22e11c0
- add_filters no longer needs to be called explicitly it will be lazily called if needed.
...
- the Filter middleware no longer needs to be the first in the handlers array.
- before and after methods will raise an exception if a filter for the requested path is already defined.
2016-02-12 12:03:38 +01:00
sdogruyol
454894820d
Fix config
2016-02-12 10:22:52 +02:00
Sdogruyol
850af8819e
Start decoupling logger
2016-02-11 23:26:47 +02:00
Sdogruyol
ffc3d6d224
Don't require yaml
2016-02-10 22:02:10 +02:00
Sdogruyol
9de66e2a60
Update CLI wording
2016-02-10 21:58:32 +02:00
TSUYUSATO Kitsune
0f86e59db6
Cache Context#params result
2016-02-10 02:11:18 +09:00
TSUYUSATO Kitsune
55361b3c9a
Use 302 to redirect instead of 301
...
`301` means "Moved Permanently", so browser caches this redirect, it is used when changing server URL.
`302` means "Found", it is used generally (e.g. redirect top page after
login).
Each of `301`, `302`, `303` and `307` means redict, but they are
different. We could choice those status in case.
2016-02-10 00:28:07 +09:00
Sdogruyol
3f3f0d442e
Fix Filter namespace
2016-02-07 16:48:49 +02:00
Werner
ab711c22fd
Basic filter implementation, similar to Sinatra.
2016-02-07 09:49:38 -04:30
Sdogruyol
467a1b4581
Rename handlers
2016-02-03 22:08:54 +02:00
Aşkın Gedik
8390b96df3
remove unused methods
2016-02-02 17:20:44 +02:00
Serdar Dogruyol
0a1abe9a42
Merge pull request #69 from f/master
...
Radix-tree already has url param parsing with state-machine implementation which is faster than regex parsing. We don't need regex parsing anymore.
2016-01-26 10:23:39 +02:00
Fatih Kadir Akın
ce1f595c5d
Remove param parsing with regex since Radix has state-machine implementation which is a way faster
2016-01-25 22:52:41 +02:00
Serdar Dogruyol
23b09ff645
Merge pull request #68 from f/master
...
Fix for #67 , Radix tree needs path style string
2016-01-25 22:28:25 +02:00
Fatih Kadir Akın
afdb6fb793
Fix for #67 , Radix tree needs path style string
2016-01-25 22:22:56 +02:00
Sdogruyol
3b4cdd5323
Rename HTTP::WebSocketHandler::WebSocket to HTTP::WebSocket
2016-01-25 20:56:27 +02:00
Sdogruyol
e223940e5e
Replace beryl with f/radix
2016-01-24 20:51:04 +02:00
Fatih Kadir Akın
c14fb3de96
Fix view rendering for Crystal 0.11.0
2016-01-24 19:13:10 +02:00
Sdogruyol
94a73e9ade
Update built-in exception route handler
2016-01-24 18:25:21 +02:00
Sdogruyol
02af920a0f
Make default content-type text/html
2016-01-24 17:52:24 +02:00
Sdogruyol
fdf38b23c8
Update kemal.cr
2016-01-24 13:31:07 +02:00
Sdogruyol
17f944ef9d
Move redirect macro to context def
2016-01-24 12:52:41 +02:00
Sdogruyol
4dd027eb96
Macros spec passing
2016-01-24 12:27:26 +02:00
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