Serdar Dogruyol - Sedo セド
990fdf2a42
Add shutdown_timeout configuration and implement graceful shutdown behavior ( #745 )
2026-03-19 20:15:57 +03:00
Serdar Dogruyol - Sedo セド
f618eece5b
Add raw_body to ParamParser for multi-handler body access ( #740 )
2026-03-03 14:29:39 +03:00
Serdar Dogruyol - Sedo セド
6c6270dee7
Fix OverrideMethodHandler route cache bug ( #741 ) ( #742 )
2026-03-01 21:46:33 +03:00
Serdar Dogruyol - Sedo セド
89966f6f7b
Make route LRU cache concurrency-safe with Mutex ( #739 )
2026-02-17 12:01:52 +03:00
Serdar Dogruyol - Sedo セド
c09f0eaefb
Improve CLI SSL validation and expand CLI option parsing specs ( #738 )
2026-02-16 10:25:44 +03:00
Anton Maminov
1460c68d5f
ensures global wildcard filters always execute while keeping namespace filters isolated to their routes ( #737 )
2026-02-12 15:34:41 +03:00
Serdar Dogruyol - Sedo セド
c65e6d1dd6
Add modular Router support ( #731 )
2026-02-09 11:33:22 +03:00
Anton Maminov
83ae194d7c
Add support to halt execution with a chained response ( #736 )
2026-02-06 14:13:24 +03:00
Serdar Dogruyol - Sedo セド
71f4e4528b
Improve response helpers: HTTP::Status, direct write, content_type param ( #735 )
2026-02-05 13:34:38 +03:00
Serdar Dogruyol - Sedo セド
3b45f93dae
Add use keyword for middleware registration with path-specific support ( #734 )
2026-02-05 13:30:16 +03:00
Serdar Dogruyol - Sedo セド
951be7524e
Add response helpers for JSON, HTML, text, XML, and status ( #733 )
2026-02-03 11:00:28 +03:00
Serdar Dogruyol - Sedo セド
3c858bf24e
[Security] Limit maximum request body size to avoid DoS attacks ( #730 )
2026-01-26 10:48:41 +03:00
Sijawusz Pur Rahnama
1c5cc8c0f9
Ameba v1.7 ( #729 )
2026-01-11 13:18:57 +03:00
Serdar Dogruyol - Sedo セド
d9352d5115
Replace full-flush Route cache with LRU and add a configurable max cache size ( #724 )
2025-10-31 19:11:20 +03:00
Serdar Dogruyol
5bd65bcb73
improve run_spec, move Kemal configuration to run method and update server bind ports
2025-09-29 14:29:26 +03:00
kojix2
47263d4f19
Fix typos in spec files ( #715 )
2025-04-18 16:10:39 +03:00
Serdar Dogruyol - Sedo セド
2408828c85
Improve Static File Handler to follow Crystal stdlib version ( #711 )
2025-04-14 16:48:52 +03:00
Serdar Dogruyol
56e58fc4d6
Fix Path Traversal in StaticFileHandler, see https://packetstorm.news/files/id/190294/
2025-04-14 14:25:46 +03:00
Serdar Dogruyol
95864868a0
Update run_spec to respect latest Log change
2025-04-03 18:19:11 +03:00
Serdar Dogruyol
d4c842e82d
Remove depracated custom logger spec
2025-04-03 17:54:17 +03:00
Serdar Dogruyol - Sedo セド
0335e861aa
Add before_all filter execution for 404 errors in FilterHandler ( #706 )
2025-04-03 16:05:55 +03:00
Serdar Dogruyol - Sedo セド
e3de2ada63
Implement multiple partial ranges ( #708 )
2025-04-03 15:55:53 +03:00
Hugo Parente Lima
19d3913b5d
Embrace Crystal standard Log for logging. ( #705 )
...
* Embrace Crystal standard Log for logging.
Kemal uses a LogHandler to log requests, this code predates the
Crystal Log class so while the Kemal documentation says that logging is
done using Log class, the http request log is done in a different way.
This patch deprecates:
- Kemal::Config#logger
- Kemal::Config#logger=(Kemal::BaseLogHandler)
- log(String)
- Kemal::LogHandler.initialize(IO)
- NullLogHandler
and changes:
- Add Kemal::Log (Log = ::Log.for(self))
- Kemal::LogHandler now uses Log.
- No handler is created if logging is set to false.
Old code using custom log handlers must work as before.
* Let ExceptionHandler use Log instead of log.
* Deprecate Kemal::LogHandler and adds Kemal::RequestLogHandler.
* Don't break API on Kemal#logger.
* Add test for Kemal::RequestLogHandler.
* Do not log redundant informations like timestamp and exception message.
* Use ex.message on unexpected exceptions log message.
2025-04-01 13:25:09 +03:00
syeopite
a9324bee6f
Fix Lint/UnusedArgument in custom exception spec ( #699 )
2024-12-20 10:46:06 +03:00
syeopite
6b884dd4ea
Add ability to add handlers for raised exceptions ( #688 )
...
Add ability to add handlers for raised exceptions. Closes #622
2024-12-19 16:14:25 +03:00
Johannes Müller
dc031c6074
crystal tool format with Crystal 1.15.0-dev (#691 )
2024-10-12 13:01:24 +03:00
Serdar Dogruyol - Sedo セド
85fcbbee02
Windows support ( #690 )
...
Windows support
2024-10-01 10:11:52 +03:00
Abdullah Alhusaini
3243b8e0e0
clarify startup message in test mode ( #687 )
2024-07-30 12:44:38 +03:00
Serdar Dogruyol - Sedo セド
6a29240bbe
Use context instead of response in static_headers helper ( #681 )
2024-05-10 18:47:27 +03:00
Sijawusz Pur Rahnama
b074578c1a
Add Date header to HTTP responses ( #676 )
2024-04-10 19:26:04 +03:00
Sijawusz Pur Rahnama
9628043e4c
Bump exception_page dependency ( #669 )
2024-01-23 19:08:49 +03:00
Mike Robbins
8ebe171279
HeadRequestHandler: run GET handler and don't return the body ( #655 )
2023-02-22 07:34:47 +03:00
Serdar Dogruyol - Sedo セド
84ea6627ac
Add Kemal::OverrideMethodHandler ( #651 )
2023-02-19 08:59:30 +03:00
Anton Maminov
6a10ea8127
bump ameba to 1.4.0 and fix warnings ( #654 )
2023-02-17 08:18:37 +03:00
Serdar Dogruyol - Sedo セド
c8f857dff3
Omitting filters fix for lowercase methods requests ( #647 )
2022-09-15 11:52:28 +03:00
Russell Smith
05d55540b9
Enable option for index.html to be a directories default ( #640 )
2022-06-30 18:00:51 +03:00
Serdar Dogruyol
268e501a63
fix Crystal 1.5.0 warnings
2022-06-29 13:31:28 +03:00
Serdar Dogruyol
f8fc8ce8c8
fix ameba warnings
2022-06-29 13:29:50 +03:00
Chao Yang
9bd24caf7e
Closes response by default in HTTP::Server::Context#redirect ( #641 )
2022-06-29 13:25:40 +03:00
Serdar Dogruyol - Sedo セド
317d086b4c
fix content_for failing to capture the correct block input ( #639 )
2022-06-27 12:28:13 +03:00
matthewmcgarvey
d6dc893052
Fix content rendering
2022-02-24 17:49:19 +03:00
Serdar Dogruyol - Sedo セド
64733c10e0
Set content type to text/html for 500 exceptions ( #616 )
2021-09-01 18:26:38 +03:00
Anton Maminov
14aabb8907
fixed executing filters when before and after is defined at the same time ( #612 )
2021-09-01 16:25:21 +03:00
Oleh Prypin
926206a46c
Allow running specs from any directory ( #609 )
2021-04-11 12:17:50 +03:00
Aravinda Vishwanathapura
de5e022222
New option to set application name ( #606 )
2021-04-05 18:05:06 +03:00
Sijawusz Pur Rahnama
0764091e03
Bump ameba dependency ( #602 )
2021-03-15 08:45:35 +03:00
jinn999
8d0875f64c
Fix StaticFileHandler failing spec ( #599 )
2021-03-07 14:29:49 +03:00
Brian J. Cardiff
a819d4792b
Refactor run_spec to use process exit instead of empty stderr ( #584 )
...
Bonus: It also allows run_spec to pass if using bin/crystal wrapper
2020-08-15 18:09:53 +03:00
Anton Maminov
2e749a2987
fix an issues with responding with long strings ( #576 )
2020-07-08 14:41:16 +03:00
Brian J. Cardiff
a8c0f09b85
Upgrade to Crystal 0.35.0 ( #570 )
...
* Update to ameba ~> 0.12.0
* Use Compress::Deflate and Compress::Gzip
* Drop unused require
* Fix spec due to defer request upgrade
2020-06-10 21:11:43 +03:00