-
Add
queryHTTP helper for testing HTTP QUERY (RFC 10008) routes, matching Kemal'squeryroute DSL (kemal#769). Needs a Kemal version that ships QUERY support. -
Send
Host: localhostandOrigin: http://localhostfromwebsocket_request_headers, so WebSocket handshakes pass Kemal's same-origin check. Kemal 1.13.0 rejects an upgrade whoseOriginis missing or does not matchHostwith403(CSWSH hardening), which turned every WebSocket spec into a failure — and, throughconnect_websocket, into a hang.origin:still overrides the default; deleteOriginfrom the returned headers to test the missing-header path. -
Close the response before reading the handshake in
connect_websocket/inner_connect_websocket. OnlyHTTP::Server::Response#upgradewrites its101out on its own; a rejected handshake stayed in the response buffer, so the read blocked on an empty socket and the spec run hung forever instead of raising. A rejected handshake now raises with the status, andresponseholds the rejection. -
Add
timeout-minutes: 10to the CI test matrix so a blocked spec fails in minutes rather than holding a runner for GitHub's 6 hour default.
- WebSocket testing support #25, thanks @sdogruyol 🙏
- Set minimum Crystal version to 1.12.0 in
shard.yml
- Add
optionsHTTP helper for CORS and preflight-style tests. - Deduplicate
Global.responseassignment in request helpers. - Strengthen specs: HEAD body assertion, session cleanup after
with_session. - CI: fail the build when Ameba reports issues (remove
continue-on-error).
- Fix
undefined method 'session?' for Global.classwhen using spec-kemal without the session extension. Thanks @sdogruyol 🙏
- Session testing support via
with_sessionhelper #23 Thanks @hugopl 🙏 - Migrated from Travis CI to GitHub Actions
- Improved documentation with comprehensive examples
- Added inline documentation to source code
- Support for all HTTP methods: GET, POST, PUT, PATCH, DELETE, HEAD
- Custom headers support for requests
- Request body support for POST/PUT/PATCH requests
- Updated for Kemal 1.x compatibility
- Improved handler chain building